如何在调试模式下运行另一个进程?

问题描述:

我在写一个windows服务。这个服务运行我通过Process类方法开发的另一个进程,但是我想在调试模式下运行这个进程,比如使用断点。如何在调试模式下运行另一个进程?

我该怎么做?

调试服务时,DebugBreak()非常好。您甚至可以调试服务的启动,如果您尝试附加该过程,这可能很难。

在C#

#if DEBUG 
    System.Diagnostics.Debugger.Break(); 
#endif 

在C++

#if DEBUG 
    System.Diagnostics.Debugger.Break(); 
#endif 

还请参阅问题:how can I use debugbreak() in C#.

从主菜单“Debug-> Attach Process”。

除了“附加过程”模式,我有时还发现有一个可以直接从Visual Studio运行的可执行文件(或者只是作为控制台应用程序)很方便。我不记得是否有任何困难这样做,但我不认为认为有......你只需要提供一个正常的入口点以及服务入口点。