Отладка разработки KDE

В игре kde3 под названием ksirtet (клон тетриса) при игре против компьютера игрок-человек не может перемещать фигуру тетриса влево/вправо. Я пытаюсь это исправить, но не могу отладить в gdb. После строки «kapp->exec()» gdb перестает отвечать, игра запускается, и я не могу ввести какую-либо команду do gdb, чтобы увидеть, что происходит. Таким образом, вопрос касается отладки цикла событий kde, и любая помощь будет высоко оценена.


person Humberto Pinheiro    schedule 02.06.2009    source источник


Ответы (1)


Вообще говоря, вы не хотели бы выполнять отладку в цикле событий без необходимости. Тем не менее, вы, вероятно, захотите разбросать несколько точек останова в интересных местах, особенно там, где, по вашему мнению, код должен запускаться после нажатия клавиши. Если вы попытаетесь выполнить код цикла обработки событий с самого начала, вы столкнетесь с проблемами, пытаясь взаимодействовать с программой, которую хотите отладить.

Кроме того, если я правильно помню, вы можете использовать команду control-c в gdb, и это прервет программу в ее текущей точке выполнения и вернет вам управление. Если вы действительно хотите увидеть, что происходит, попробуйте поставить в очередь некоторые события в игре (быстро нажмите несколько клавиш), затем прервите gdb и пройдитесь по действиям программы в ответ на эти события. Однако вам придется действовать очень быстро, так как цикл обработки событий на современном компьютере выполняется очень быстро.

person Caleb Huitt - cjhuitt    schedule 03.06.2009
comment
Спасибо за ваш ответ. Я борюсь с gdb и этим трюком ctrl-c, но пока безуспешно. - person Humberto Pinheiro; 04.06.2009