Я не могу показать исходный код в windbg, когда я передаю ntsd -d
на цель через ] windbg -k
, но он работает, когда я отлаживаю локально.
Я хочу отладить самое первое выполнение кода Winlogon.exe и LSASS.exe. Но чтобы упростить воспроизведение проблемы, я сделал следующую настройку:
/ noexecute = optin / fastdetect / debug / debugport = com1 / baudrate = 115200
Я могу выполнять отладку локально с помощью этой команды, запущенной из C: \ CrashMe:
windbg -g -G -srcpath C:\CrashMe -y C:\CrashMe debug\CrashMe.exe
Я могу запустить виртуальную машину Windows XP и подключиться к ней с помощью этой команды:
windbg -n -k com:pipe,port=\\.\pipe\com_1,reconnect -srcpath SRV*;C:\CrashMe -y
c:\windows\system32;c:\windows\symbols;C:\CrashMe\debug
Но мне нужно отладить удаленную машину. На целевой машине у меня есть следующие варианты:
-сервер
и -удаление
В каждой из этих опций я вижу символы ( x crashme! *
работает).
Я не могу использовать №1 ( -сервер
) или №2 ( breakin.exe
), потому что я хочу отладить код запуска поставщика аутентификации, поэтому мне нужно запустить LSASS.exe
под ntsd -d
. Я не могу позволить ему запускаться и подключаться позже.
Я понимаю, что мне нужно использовать IFEO. Используя gflags.exe вместо изменения реестра вручную, я установил параметры исполняемого файла на
c:\dtw\ntsd -d -G -lines -x -y c:\symcache;c:\windows\system32 -n -srcpath C:\CrashMe\
.open
любой файл, но Я не могу использовать этот файл для установки точки останова. Как мне увидеть исходный код моей DLL процесса, запущенного под ntsd -d
- windbg -k
?