如何在一个进程启动时进行调试?

首先,你可以在调试器中启动被调试进程。

如果你打算调试一个正在运行的进程,你可以用将调试器附加(attach)的被调试进程上。

但是如果你想当进程启动时就开始调试,例如:调试一个Windows service,就有点麻烦了。

如果你有被调试进程的代码,你可以考虑加入DebugBreak()或者__asm { int 3 }来迫使被调试进程抛出一个调试异常。

Windows检测到这个调试异常,将启动vsjitdebugger.exe来启动调试。

如果你没有被调试进程的代码,或者不打算修改它的代码。你可以用gflags来帮助你达到一样的目的。gflags和Debugging Tools for Windows一起发布。

使用步骤如下:

  1. 运行gflags;
  2. 切换到Image File页;
  3. 输入你想调试的进程的执行文件名(不需要路径,但是需要扩展名);
  4. 选中Debugger并且输入vsjitdebugger.exe;
  5. OK或者Apply;

 

posted @ 2010-11-18 12:34  夜深沉  阅读(733)  评论(0编辑  收藏  举报