Мне нужно отладить программу с помощью gdb (сама программа представляет собой программу Qt GUI, скомпилированную с помощью MinGW). В частности, программа зависает в некоторых моментах, и мне нужно проверить стек вызовов. Но нажатие Ctrl+C ведет себя странно — в некоторых моментах вообще не работает. Например, если программа показывает диалоговое окно, и я нажимаю Ctrl+C, gdb не прерывает программу до тех пор, пока диалоговое окно не будет закрыто, что в данной ситуации довольно бесполезно.

Итак, подскажите, пожалуйста, как разорвать цикл выполнения в случайной точке с помощью ввода с клавиатуры в GDB? Извините за возможно хромой термин, я не совсем знаком с этим. заранее спасибо

1
Andrey Balaguta 18 Авг 2009 в 15:26
1
 – 
earl
18 Авг 2009 в 15:29
Я не понимаю, как это может помочь. В Mingw нет kill, и Ctrl+C тоже не работает (собственно, проблема в этом).
 – 
Andrey Balaguta
18 Авг 2009 в 15:42

2 ответа

Благодаря моему другу я нашел решение здесь: http://cygwin. com/ml/cygwin/2006-06/msg00321.html

1
Andrey Balaguta 18 Авг 2009 в 16:12

Чтобы получить стек вызовов, вы также можете использовать утилиту pstack

0
steve 18 Авг 2009 в 23:59