如何启动进程然后立即暂停?

时间:2009-12-18 07:42:01

标签: visual-studio debugging

我想知道是否有任何可用于启动进程的命令或工具,然后立即暂停。

我需要这个功能,以便我有时间将调试器连接到它。我尝试过visual studio的/ debugexe功能,但程序的行为似乎发生了变化。所以我需要找到其他方法来附加它并进行调试。

谢谢。

4 个答案:

答案 0 :(得分:5)

您可以将CreateProcess()与CREATE_SUSPENDED标志一起使用。这将在主线程暂停的情况下启动进程。然后在附加后调用ResumeThread()。

答案 1 :(得分:2)

在主例程中插入以下行:

    System.Diagnostics.Debugger.Launch();

在调试模式下编译。 运行您的程序,它将中断并提示您附加调试器。如果您打开工作室,它会询问您是否要使用它进行调试。

答案 2 :(得分:0)

如何添加Sleep()调用作为第一个语句。

答案 3 :(得分:0)

您还可以添加对

的调用
System.Diagnostics.Debugger.Break();
代码中的

。它将暂停程序,然后要求您选择要使用的调试器。然后,您可以附加到正在运行的Visual Studio实例。如果你已经从一个调试器运行,那么它就会破坏,好像它会碰到一个断点。