Mar*_*eni 31 console2 visual-studio
有没有办法使用流行的Console2 cmd.exe替代Visual Studio调试?换句话说,当我在VS下调试控制台应用程序时,我希望它使用Console2而不是cmd.exe.
有趣的问题.我调查了一下,有一些选择,但没有一个是漂亮的.
Console.exe接受参数,因此可以使用特定选项卡启动它并执行任意过程.但是,此过程将始终在其自己的cmd.exe中运行; 例如,如果您的程序是c:\ my.exe,并且在console.exe -t tabname -r c:\myexeConsole2内部调用时启动Console CreateProcess( ... cmd.exe c:\my.exe ... ),那么您甚至无法看到my.exe的输出.这很容易解决:启动它console.exe -t tabname -r "/k c:\myexe":/ k开关使cmd.exe保持活动状态,您可以看到程序的标准输出.(我查看了源代码但找不到将选项卡"附加"到当前运行的Console实例的方法,因此使用参数启动将始终创建一个新实例,不确定这是您要查找的内容?
您可以轻松修改项目的调试属性以反映上述内容:
Command: /path/to/console.exe
Command Arguments: -t tabname -r "/k $(TargetPath)"
Run Code Online (Sandbox Code Playgroud)
从VS中启动exe时,它会在控制台会话中启动你的exe.但是调试不起作用,因为VS将尝试调试console.exe,而不是my.exe,因为现在这是一个不同的过程.DebugBreak();在exe的main()中放置第一行将解决这个问题,因为它将为您提供调试exe的选项.总而言之,实现你想要的东西可能有点麻烦,但我不认为还有另一种方法:控制台总是产生一个新进程,因此调试它的唯一方法是将调试器附加到在那个过程开始之后.
| 归档时间: |
|
| 查看次数: |
2294 次 |
| 最近记录: |