【发布时间】:2011-01-27 08:59:00
【问题描述】:
在调试器下运行进程时,我想在同一个调试器中启动一个子进程。
目前,我使用
Process.Start("sample.exe");
我希望它是这样的:
if (Debugger.IsAttached)
// start "sample.exe" in the same debugging session
else
Process.Start("sample.exe");
我可以向子进程传递一个标志,指示它调用Debugger.Launch(),但这不会捕获启动错误,并且会导致某些功能未启用的调试会话(例如编辑和继续, 等等)。最好让调试器直接启动进程。
【问题讨论】:
-
我怀疑这个问题的标题有很大的误导性——你是想用 VS 开始这个过程,还是用恰好使用 VS 构建的 C# 应用程序?
-
你问的没有任何意义。
-
问题在于 Visual Studio 不会自动附加到开箱即用的子进程。不过有解决方案。
-
威尔:两者都不是。我试图从用 c# 构建的应用程序启动一个进程,但在 VS 中以调试模式运行。所以在某种程度上你的陈述都是有效的。
-
一个更简单的解决方案是在sample.exe的项目中调用Main。
标签: c# .net visual-studio debugging