Как я могу перезапустить программу с GDB, пока не произойдет ошибка сегментации? - PullRequest
41 голосов
/ 01 июля 2011

В моей программе есть проблема с ошибкой сегментации, но она возникает редко (один раз в 20 и более раз), и для отладки в GDB мне нужно вручную перезапустить программу, пока не возникнет ошибка сегментации (в течение полдня повторных запусков). только когда это не удается :().

Итак, вопрос в том, есть ли способ сообщить GDB о перезапуске программы до некоторого сегфоута?

1 Ответ

61 голосов
/ 01 июля 2011

Установите точку останова на выходе вашей программы, которая запускает команду run, и не забудьте set pagination off.Информация о командах настройки доступна в разделе Списки команд точек останова документации GDB.Вкратце:

set pagination off
break exit
commands
run
end

После строки commands вы увидите, что следующие две строки вводятся как команда для выполнения при достижении точки останова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...