Как найти, какой поток вызвал SEGFAULT в посмертной сессии GDB? - PullRequest
20 голосов
/ 16 апреля 2010

В моем приложении я обрабатываю SIGSEG, чтобы произвести обратную трассировку, и вызываю abort(), чтобы создать дамп ядра.

Если я сейчас выполню gdb-post-mortem анализ ядра, поток, вызвавший SEGFAULT, больше не будет виден. Могу ли я что-нибудь сделать, чтобы увидеть причину SEGFAULT?

С уважением, Martin

1 Ответ

17 голосов
/ 16 апреля 2010

Вы можете использовать команду thread apply all bt или thread apply all bt full, чтобы получить обратные следы всех потоков.Может быть полезно.

Кстати, если вы избавитесь от своего обработчика, ваша ОС создаст файл ядра?

...