我可以设置我的本地机器,以便在执行特定应用程序时,我可以启动调试器。这是否可以为远程应用程序执行此操作?
这是一个批处理文件,用于在执行app.exe
时在本地调用调试器:
@echo off
>%temp%\output.reg echo Windows Registry Editor Version 5.00
>>%temp%\output.reg echo+
>>%temp%\output.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\app.exe]
>>%temp%\output.reg echo "debugger"="vsjitdebugger.exe"
regedit /s %temp%\output.reg
del %temp\output.reg
为了完整性,这是我用来阻止调试器在启动时被调用的批处理文件:
@echo off
>%temp%\output.reg echo Windows Registry Editor Version 5.00
>>%temp%\output.reg echo+
>>%temp%\output.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\app.exe]
>>%temp%\output.reg echo "debugger"="\"C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\Common7\\IDE\\devenv.exe\" /debugexe"
regedit /s %temp%\output.reg
del %temp\output.reg
也许有一种方法可以修改它,以便进程会产生类似断言的消息,然后我可以在那时远程连接我的调试器?
或者,调试器是否可以将应用程序注入远程系统并使其在调试模式下启动,就像我刚刚在本地启动调试过程一样?