使用命令行附加Visual Studio调试器

19
我正在使用vsjitdebugger.exe -p {pid}将Visual Studio调试器附加到运行中的进程。 这个方法可以工作,但很烦人的是会弹出一个窗口让我选择要附加的调试器,我只能选择打开的Visual Studio实例或启动新实例。 是否可能传入我想要附加的.sln文件,以便我不必再次选择呢? 我可以将默认设置为新实例,但我希望我能指定一个.sln文件,这样它就会打开那个解决方案,或者如果它已经打开,则附加到它。
谢谢, 格雷格
编辑: 我希望以编程方式完成此操作。 我的应用程序由测试框架运行,我希望它在不需要单击任何内容的情况下运行。 vsjitdebugger.exe的帮助对话框未提及我所需的功能是否可行。 我真正想要的是能够执行:vsjitdebugger.exe -p {pid} -s 'solution.sln' 并绕过那个弹出窗口。

你是否正在尝试调试由另一个进程启动的进程? - Tim Santeford
1
是的。实际上,可执行文件是由一个用Python编写的测试框架通过subprocess.popen()启动的。然后我跟着这个命令使用"os.system('vsjitdebugger.exe -p {0}'.format(self.sim_process.pid))"。 - Greg McDowell
2个回答

1

感谢spgennard。我选择这个作为被接受的答案,因为它可能是正确的方向。看起来比它值得的麻烦多了,所以我可能永远不会付出努力来解决我的问题。 - Greg McDowell

0

我不确定调试器是否允许在启动时加载解决方案。由于提供的唯一参数是pid,因此调试器无法知道可执行文件属于哪个解决方案。

如果您想通过Visual Studio解决方案启动进程并进行调试,则最好的方法是启动进程并将其附加到调试器。

有关如何附加到进程的更多信息,请参见如何:附加到正在运行的进程

此外,请查看这个问题:从命令行运行调试模式


感谢回复。我应该明确指出,我正在寻找以编程方式完成它的方法。 - Greg McDowell
@Greg McDowell,如果您想以编程方式将进程附加到特定解决方案中的调试器,则前进的方法是自动化Visual Studio,在解决方案运行时立即附加进程。 - Devendra D. Chavan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接