gpt4 book ai didi

visual-studio - 使用 Console2 进行 Visual Studio 调试?

转载 作者:行者123 更新时间:2023-12-03 08:58:53 25 4
gpt4 key购买 nike

有没有办法使用流行的 Console2 cmd.exe 替代品进行 Visual Studio 调试?换句话说,当我在 VS 下调试控制台应用程序时,我希望它使用 Console2 而不是 cmd.exe。

最佳答案

有趣的问题。我调查了一下,有一些选择,但没有一个是漂亮的。

Console.exe 接受参数,因此可以使用特定选项卡启动它并执行任意进程。但是,此进程将始终在其自己的 cmd.exe 中运行;例如,如果您的程序是 c:\my.exe 并且您以 console.exe -t tabname -r c:\myexe 启动控制台Console2 内部调用 CreateProcess( ... cmd.exe c:\my.exe ... ) ,因此您甚至看不到 my.exe 的输出。不过这很容易解决:以 console.exe -t tabname -r "/k c:\myexe" 启动它:/k 开关使 cmd.exe 保持事件状态,您可以看到程序的标准输出。 (我查看了源代码,但找不到将选项卡“附加”到当前正在运行的控制台实例的方法,因此使用参数启动将始终创建一个新实例,不确定这是您要查找的内容吗?

您可以轻松修改项目的调试属性以反射(reflect)上述内容:

Command: /path/to/console.exe
Command Arguments: -t tabname -r "/k $(TargetPath)"

从 VS 中启动您的 exe 时,它​​将在控制台 session 中启动您的 exe。但是调试将不起作用,因为 VS 将尝试调试 console.exe,而不是 my.exe,因为它现在是一个不同的进程。放一个 DebugBreak();因为您的 exe 的 main() 中的第一行将解决这个问题,因为它会为您提供调试您的 exe 的选项。总而言之,实现您想要的可能有点麻烦,但我认为没有另一种方法:控制台总是产生一个新进程,因此调试它的唯一方法是将调试器附加到在那个过程开始之后。

关于visual-studio - 使用 Console2 进行 Visual Studio 调试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4088123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com