Ответ 1
(gdb) set breakpoint pending on
Это сделает gdb skip с просьбой подтвердить, цитата из docs:
Это означает, что непризнанное местоположение точки останова должно автоматически приводит к созданию ожидающей точки останова.
Я использую 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? Заранее благодарю вас.
(gdb) set breakpoint pending on
Это сделает gdb skip с просьбой подтвердить, цитата из docs:
Это означает, что непризнанное местоположение точки останова должно автоматически приводит к созданию ожидающей точки останова.
Вы можете обернуть свою команду с помощью set confirm off/on
, и GDB не будет запрашивать подтверждение.