【问题标题】:Run multiple instances with one click in Visual Studio在 Visual Studio 中一键运行多个实例
【发布时间】:2011-07-26 19:34:14
【问题描述】:

我想知道我是否可以通过简单的单击或为此设置一个键在调试模式下运行我的应用程序的多个实例(现在是两个实例)...

【问题讨论】:

  • 不,您不能从 Visual Studio 运行应用程序的多个实例。例如,“编辑并继续”之类的功能只有在有一个实例时才能工作。但是,您可以从 Visual Studio 外部运行多个实例,但您会失去其中一些花哨的功能。
  • 我可以运行我的应用程序的多个实例并在同一个 VS 环境中调试它们。我只是想知道我是否可以通过按一个键或单击一个按钮来做到这一点..
  • 我假设您正在谈论类似here 讨论的内容?更具体地说,您手动运行多个实例,然后附加调试器?不,没有自动化的解决方案可以做到这一点;这不是一个常见的用例。尝试编写宏。
  • 是的,我已经阅读了该线程,这就是我运行多个实例的方式。我只是想如果有一种简单的单击方式可以做到这一点..我想没有。谢谢。

标签: visual-studio visual-studio-2010 debugging


【解决方案1】:

似乎没有多少人知道这一点,但这完全有可能,尽管我承认这不是很明显。 这是你要做的:

  • 假设你当前的项目是A,它的输出是c:\bin\my.exe
  • 在 A 的解决方案中添加一个空项目,将其命名为“Dummy”
  • 在 Dummy 的项目下 Properties->DebuggingCommand 设置为指向 c:\bin\my.exe
  • Solution Properties->Configuration Manager 下,取消选中 Dummy 项目的所有构建,这样 VS 就不会尝试构建它(构建空项目失败)
  • Solution Properties->Startup Project 下,选择 Multiple Startup Projects 并将 A 和 Dummy 的 Action 设置为 Start
  • 现在按 F5,您的 exe 将启动两次,每次都在单独的调试实例下。 (您将能够在 Debug->View->Processes 窗口中看到)

【讨论】:

  • 很好的答案!顺便说一句,在 VS2010 中,我需要设置 Project Properties|Debug|Start Action|Start external program 以及 Project Properties|Debug|Start Options|Working directory
  • 太棒了。奇妙。简单,完全符合需要。
  • 不客气 :] 我想同时调试客户端/服务器应用程序时偶然发现了这一点。对于这种情况,这个工作流程简直太棒了:1 个源代码窗口带有客户端代码,旁边是 1 个带有服务器代码的源代码窗口,您可以进行逐步调试。
  • 兄弟,你太棒了
  • 不错!我想运行一个练习库的测试程序的两个实例。我使用库项目代替虚拟项目,将其调试命令设置为“$(ProjectDir)test\$(Platform)\$(Configuration)\test.exe” - 所以测试程序的两个实例都使用选定的配置和平台。
【解决方案2】:

您可以使用“多个启动项目”功能,但避免手动创建虚拟项目:只需将您的调试对象可执行文件直接添加到解决方案中即可:

  • 解决方案 > 添加现有项目 > .exe 路径

如果您需要多个实例,Visual Studio 将不允许您两次添加相同的可执行文件,但使用另一个名称向其添加符号链接可以正常工作。

MSDN: How to: Debug an Executable Not Part of a Visual Studio Solution

【讨论】:

  • 这太棒了!!
  • 我希望这能工作,收到以下消息:“解决方案已经包含一个名为 'A.B.C' 的项目。”
【解决方案3】:

Visual Studio 2013 是不是更简单!

项目-> 属性-> 调试-> 选中“启动外部程序”并单击 ... 按钮,导航到其他程序的 .exe。

然后确保在您的解决方案 -> 属性 -> MultipleStartup Projects 中检查它。

【讨论】:

    【解决方案4】:

    您可以从构建应用程序的位置运行应用程序的两个实例;例如:d:\test\bin\debug\app.exe 并将两个实例附加到 Visual Studio 2010 调试器。

    【讨论】:

    • 这是可能的,但这并不能回答这个问题,因为这不是“简单的点击或为此设置一个键”。此外,在应用运行后附加调试器有时是不够的,因为这样会错过应用初始化。
    猜你喜欢
    • 2011-08-21
    • 1970-01-01
    • 2013-08-20
    • 1970-01-01
    • 2018-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-13
    相关资源
    最近更新 更多