Отладка разработки KDE - PullRequest
1 голос
/ 02 июня 2009

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

1 Ответ

1 голос
/ 03 июня 2009

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

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

...