【问题标题】:Attach Visual Studio debugger to VS IDE Host将 Visual Studio 调试器附加到 VS IDE 主机
【发布时间】:2016-09-07 12:18:30
【问题描述】:

我正在尝试测试使用 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 调试器附加到启动的进程,这样我就可以在没有手动“附加到进程”步骤的情况下进行调试?

编辑:

我尝试了几种解决方案,但到目前为止都没有奏效:

【问题讨论】:

  • 您可以尝试的另一件事是Child Process Debugging Tool
  • @Alexander Pacha,我也分享一个解决方案,有用吗?你解决了这个问题吗?
  • 查看我的编辑:我已经测试了您发布的所有解决方案(在发布之前)。到目前为止,它们都不能很好地解决附加到 VS IDE 主机适配器的特定问题。但无论如何我都很重视你的努力。

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


【解决方案1】:

如果你想设置 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

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

【讨论】:

    猜你喜欢
    • 2016-03-26
    • 1970-01-01
    • 1970-01-01
    • 2011-12-07
    • 1970-01-01
    • 2018-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多