将过程附加到带有源代码的调试器?

时间:2019-05-02 12:23:09

标签: c# visual-studio debugging visual-studio-debugging

在调试模式下运行C#控制台应用程序时,可以使用Process.Start()启动另一个C#控制台应用程序(相同程序或不同程序),然后使用以下命令自动将其附加到调试器: C#源代码?

我正在使用Visual Studio 2017 + 、. NET 4.7.2,C#7.3。

此问题不是重复的,因为所有建议的问题/答案都不能完全回答该特定问题。我正在寻找一种使用源代码将任何过程对象附加到当前调试器的全自动方法。其他问题中没有一个答案专门解决此问题。例如,他们建议使用过时的插件,生成一个新的调试器实例,或手动附加该过程,而不是使用C#源代码来完成任务。

例如:

var this_exe = Environment.GetCommandLineArgs()[0];
var p = Process.Start(this_exe, "/compute");
// How to attach 'p' to the debugger?

1 个答案:

答案 0 :(得分:0)

在以Process开头的exe的Main方法中,添加Debugger.Launch(),如

private static void Main(string[] args)
{
    Debugger.Launch();
    //your code
}