Получение трассировки стека зависшего процесса, запущенного в GDB
Я пытаюсь выяснить, почему программа, которую я использую, зависает.
Сначала я думал, что проблема была "решена", пропустив ее через GDB, но у меня появляются те же симптомы, что и раньше - есть ли способ отправить сигнал или что-то в GDB, чтобы распечатать трассировку стека, чтобы я мог попытаться увидеть что происходит?
Я использую FreeBSD-9.0.
2 ответа
Решение
В итоге я получил обратную трассировку, создав coredump с помощью gcore(1), а затем запустил myprogram с coredump, созданным в GDB.
Вы можете прервать запущенный процесс в GDB, просто нажав Control-C.
Затем вы можете получить обратную трассировку с backtrace
команда.