将当前运行的进程附加到现有的调试器实例

时间:2015-04-23 19:54:02

标签: c# .net debugging visual-studio-2013

我的用例是,将一段代码运行为.exe.,比如说A项目,我需要执行另一个C#可执行文件,比如同时开发B项目。使用B .NET类型处理Process项目执行。

这是B项目的执行方式

public override string Run(string executablePath)
{
    Process environmentProcess = new Process();

    string inputPath = GetInputPath();
    string inputFormat = GetInputFormat();
    string outputPath = GetOutputPath();

    GenerateOptions(inputPath, inputFormat);

    string args = string.Format("-i \"{0}\" -f {1} -o \"{2}\"", inputPath, inputFormat, outputPath);

    ProcessStartInfo startInfo = new ProcessStartInfo
    {
        FileName = executablePath,
        Arguments = args
    };

    environmentProcess.StartInfo = startInfo;
    environmentProcess.Start();
    environmentProcess.WaitForExit();

    return GetOutput(outputPath);
}

要运行解决方案,我只需按F5即可运行A并附加调试器,A进程依次执行B

我想要实现的是自动化将调试器附加到B进程的过程。我知道System.Diagnostics.Debugger.Launch();,但这会创建一个全新的VS实例来附加调试器。我希望它几乎就是这样,除了我希望能够B附加到现有的Visual Studio实例及其调试器

甚至可能吗?

0 个答案:

没有答案