Отладка при запуске службы

#gdb

#gdb

Вопрос:

Я пытаюсь отладить службу. Обычная процедура заключается в запуске службы и подключении gdb к процессу. Но я хочу отлаживать код, когда служба все еще запускается. gdb требуется некоторое время для загрузки библиотек, и требуемый код выполнен, прежде чем я смогу установить точки останова. Есть идеи, как это сделать? Спасибо!

Ответ №1:

Давайте предположим, что ваша служба вызвана «myservice.exe «

Если вы можете перейти к окну, в котором фактически выполняется код, тогда я бы сделал следующее:

 $ gdb myservice.exe
(gdb) break myclass:myfunction
(gdb) run
  

Это должно дать вам то, что вы хотите.

Примечание: если вы не можете запустить gdb напрямую, то поставьте инструкцию «sleep» на 1 минуту в самом начале (перед частью, которую вы хотите отладить) — это должно позволить вам подключиться до запуска конфиденциального кода.