【问题标题】:Attach process to debugger with source code?使用源代码将进程附加到调试器?
【发布时间】:2019-05-02 12:23:08
【问题描述】:

在调试模式下运行 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?

【问题讨论】:

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


    【解决方案1】:

    在你以Process启动的exe的Main方法中,添加Debugger.Launch(),如

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-12
      • 2018-09-18
      • 2019-01-31
      • 2018-10-12
      • 2019-08-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多