您的位置:首页 > 其它

调试 其他由其他程序启动的EXE程序--方法

2008-10-13 21:09 267 查看
在某些情况下,你可能需要调试一个由其他程序所启动的进程的启动代码,而这个过程并不由你所控制。比较典型的例子有COM进程外服务器和Windows Service。

通常你可以在代码中手动加上DebugBreak API调用来自动启动调试程序,大部分情况这都能工作。

不过,某些情况下DebugBreak会不起作用。有可能该断点异常被SEH所截获(COM服务器的情况下)或者在调试器启动的这段时间内有可能导致TimeOut(Windows Service的情况下),因此需要一种另外的方法,如下:

1. 打开RegEdit
2. 找到HKLM/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Image File Execution options
3. 在该键下面新建一个Key,名称为你的程序名,如myprogram.exe
4. 在新建的key下面新建一个String,名称为Debugger
5. 把Debugger的值修改为vsjitdebugger.exe(Visual Studio的JIT Debugger),或者其它你喜欢的Debugger,比如WinDbg等等。注意如果有必要的话,请将该调试器的目录加入到Path中

经过如此设置之后,以后当你每次启动myprogram.exe的时候,你所指定的调试器便会自动启动,开始调试。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐