Отладка Windows DLL, которая может быть вызвана из службы Windows - PullRequest
1 голос
/ 21 января 2009

У меня есть DLL-библиотека агента расширения SNMP, которая вызывается службой SNMP Windows (snmp.exe) каждый раз, когда я выполняю snmpwalk (другое консольное приложение). Я хочу войти в мой код DLL, который вызывается из вышеуказанной Windows Обслуживание. Как мне это сделать?

Спасибо Сом

Ответы [ 2 ]

2 голосов
/ 21 января 2009

Обычно вы присоединяете отладчик к работающему процессу, который использует вашу DLL, а затем взаимодействует с отладчиком, как обычно.

В Visual Studio 2008 это можно сделать с помощью «Отладка»> «Присоединить к процессу», а затем выбрать правильный процесс. По крайней мере, так я смутно помню, как делал это раньше.

1 голос
/ 21 января 2009

Вы можете присоединиться к запущенному сервису из visual studio, как предлагает Тимо Гойш. После этого вы можете установить точку останова в вашем коде. Вы также можете добавить вызов к функции DebugBreak в том месте, где вы хотите отлаживать свою библиотеку. Это может помочь вам, если код, который вы хотите отладить, выполняется перед тем, как вы сможете присоединиться к процессу (например, если ваш код выполняется в обработчике события запуска службы).

РЕДАКТИРОВАТЬ: Вы можете подключиться к любому сервису, даже если у вас нет отладочной информации для него, но в этом случае вы не сможете увидеть трассировку стека над вызовом функции.

...