Подтвердить что ты не робот

Как подтвердить действие (ответ "Y" ) в gdb script?

Я использую gdb для отладки моего кода cpp. Я установил точки останова следующим образом:

(gdb) break ParseDriver.cc:60
No source file named ParseDriver.cc.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (ParseDriver.cc:60) pending.

Чтобы упростить установку контрольных точек, я написал простой gdb script (named breakpoints.gdb), он просто содержит только одну строку:

break ParseDriver.cc:60

Я использую этот script в терминале gdb, но это не удалось.

(gdb) source ~/breakpoints.gdb
No source file named ParseDriver.cc.
Make breakpoint pending on future shared library load? (y or [n]) [answered N; input not from terminal]

Кажется, что нам нужно ответить Y в script, чтобы установить точку останова.

Итак, как я могу ответить на Y в gdb script? Заранее благодарю вас.

4b9b3361

Ответ 1

(gdb) set breakpoint pending on

Это сделает gdb skip с просьбой подтвердить, цитата из docs:

Это означает, что непризнанное местоположение точки останова должно автоматически приводит к созданию ожидающей точки останова.

Ответ 2

Вы можете обернуть свою команду с помощью set confirm off/on, и GDB не будет запрашивать подтверждение.