我想知道是否有任何可用于启动进程的命令或工具,然后立即暂停。
我需要这个功能,以便我有时间将调试器连接到它。我尝试过visual studio的/ debugexe功能,但程序的行为似乎发生了变化。所以我需要找到其他方法来附加它并进行调试。
谢谢。
答案 0 :(得分:5)
您可以将CreateProcess()与CREATE_SUSPENDED标志一起使用。这将在主线程暂停的情况下启动进程。然后在附加后调用ResumeThread()。
答案 1 :(得分:2)
在主例程中插入以下行:
System.Diagnostics.Debugger.Launch();
在调试模式下编译。 运行您的程序,它将中断并提示您附加调试器。如果您打开工作室,它会询问您是否要使用它进行调试。
答案 2 :(得分:0)
如何添加Sleep()调用作为第一个语句。
答案 3 :(得分:0)
您还可以添加对
的调用System.Diagnostics.Debugger.Break();
代码中的。它将暂停程序,然后要求您选择要使用的调试器。然后,您可以附加到正在运行的Visual Studio实例。如果你已经从一个调试器运行,那么它就会破坏,好像它会碰到一个断点。