将Visual Studio调试器附加到VS IDE主机

时间:2016-09-07 12:18:30

标签: c# debugging visual-studio-2015 visual-studio-extensions attach-to-process

我正在尝试测试使用Visual Studio 2015 Shell(隔离)的应用程序。

为了使用Visual Studio测试扩展包,我找到了older versions的样本。它们看起来像这样:

[TestMethod]
[HostType("VS IDE")]
public void CreateVisualization()
{
    TestUtils testUtils = new TestUtils();
    testUtils.CloseCurrentSolution(__VSSLNSAVEOPTIONS.SLNSAVEOPT_NoSave);
    testUtils.CreateProjectFromTemplate(TestContext.TestDir, "MyProjectType", "MyProjectType.zip");
    testUtils.CloseCurrentSolution(__VSSLNSAVEOPTIONS.SLNSAVEOPT_NoSave);
}

我的问题是我无法调试这些测试,因为调试器没有附加到VS IDE主机进程。有一次,我删除了HostType-annotation,我可以设置断点并对其进行调试,但是测试不会在正确的进程中运行。我通过在测试中编写无限循环然后手动附加到启动的进程(这将启用调试)来验证附加不起作用。

有没有办法在开始测试时自动将Visual Studio调试器附加到已启动的进程,因此我可以在没有手册的情况下进行调试"附加到进程" -step?

修改

我已经尝试了几种解决方案,但到目前为止没有任何效果:

1 个答案:

答案 0 :(得分:1)

如果要在启动的Process上将Debugger设置为自动附加,可以使用注册表编辑器,但这不方便:

https://msdn.microsoft.com/en-us/library/a329t4ed(v=vs.100).aspx

一个简单的方法是你可以使用Eyal Rosner在这里写的这个工具:

http://www.codeproject.com/Articles/1090417/How-to-Set-Debugger-to-Auto-Attach-on-Process-Star

我们很容易设置注册表编辑器。

enter image description here