Использование stackdump из исполняемого файла Cygwin - PullRequest
23 голосов
/ 26 ноября 2008

Итак, я написал ошибочный код, который иногда вылетает ... и создает файл stackdump.

Используя addr2line, я могу выяснить, как программа достигла точки сбоя, расшифровав адреса по одному. Есть ли альтернативный инструмент, который может облегчить отладку с помощью дампов стека? Есть ли способ загрузить эту информацию в Insight / Gdb?

Ответы [ 2 ]

43 голосов
/ 06 января 2009

Вы можете указать Cygwin запустить ваш отладчик GDB как раз в момент возникновения ошибки. Для этого добавьте error_start=action в переменную окружения Cygwin:
export CYGWIN="$CYGWIN error_start=gdb -nw %1 %2"

В противном случае Cygwin может создать реальный дамп ядра.
export CYGWIN="$CYGWIN error_start=dumper -d %1 %2"

0 голосов
/ 26 ноября 2008

Во-первых, убедитесь, что вы собрали с включенной отладкой исходного кода (используя опцию -g):

gcc -g -o myfile myfile.c

Затем загрузить дамп в gdb после сбоя (или понимания, или ddd)

gdb myfile core
...