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

Завершить программу, нажав CTRL + C внутри GDB

Моя программа решила остановить ее выполнение, нажав CTRL + C в окне команд. К настоящему времени у меня есть критическая ошибка прямо на этой фазе остановки, поэтому я хочу отлаживать с помощью gdb.

Проблема в том, что gdb переопределяет CTRL + C как свое собственное прерывание и приостанавливает выполнение при нажатии. Как я могу справиться с этим, что CTRL + C отключает мою программу и gdb может поймать трассировку стека?

4b9b3361

Ответ 1

В командной строке (gdb) введите signal SIGINT. Это отправит (неожиданно) SIGINT на отлаживаемую программу.

В качестве альтернативы, handle SIGINT nostop print pass заставит GDB передать сигнал прямо в нижний (отлаживаемый) процесс.