Как я могу повторно запустить программу с помощью gdb до тех пор, пока не возникнет ошибка сегментации?
У моей программы есть проблема с ошибкой сегментации, но она редко возникает (один раз в 20 раз и более) и отлаживает ее в GDB, мне нужно вручную запустить программу до тех пор, пока не произойдет ошибка сегментации (в течение половины дня повторных попыток только один раз, когда это не удается:().
Итак, есть вопросы: есть ли способ сообщить GDB повторно запустить программу до некоторого segfault?
Ответы
Ответ 1
Поместите точку останова на выходе вашей программы, которая запускает команду run
, и не забывайте set pagination off
. Информация о командах настроек доступна в разделе Список команд точки останова в документации gdb. Короче говоря:
set pagination off
break exit
commands
run
end
После строки commands
вы увидите, что следующие две строки вводятся как команда для выполнения, когда достигается точка останова.