Использование GDB в функциях таймера - PullRequest
0 голосов
/ 31 марта 2011

У меня есть программа на C, которая использует таймер, когда таймер истекает, программа что-то делает (устанавливает флаг).

Мой вопрос: когда я устанавливаю точки останова и запускаю программу, используя GDB, ииспользуйте «шаг», чтобы проверить построчно, таймер продолжает тикать в фоновом режиме?или он останавливается, пока я снова не нажму «s» (следующий шаг)?

1 Ответ

2 голосов
/ 31 марта 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...