假设我使用的是非Visual Studio,并使用 cl.exe 在命令行构建,我应该使用哪个调试器?
我尝试使用MinGW中的 gdb.exe ,但它似乎与 cl.exe 输出的调试符号不兼容(它报告“没有调试找到符号“)。
我觉得这是一个很荒谬的问题,但是在MSVC ++上找不到VS特定的信息似乎根本不可能。
现在我正在使用 Visual Studio 2010 Express 的安装来访问 cl.exe ,但我不将其用作IDE。
答案 0 :(得分:2)
你应该学习WinDBG,它可以调试用户模式和内核模式代码。当你指的是GDB时,我假设WinDBG的命令行界面对你来说不会有问题:)
顺便说一句,WinDBG是Windows开发人员的官方调试器,因此您可以期待它能够长期受到支持。
答案 1 :(得分:2)
使用WinDbg。这是一个很好的调试工具,虽然可能需要一些时间才能进入。 MinGW不会削减它,因为它使用不同的符号格式。 WinDBG也是Windows SDK的一部分,您可能已经安装过,所以只需检查一下它是否已经安装。
答案 2 :(得分:1)
如果你有Visual Studios(我认为你不能得到cl.exe
没有它),你仍然可以使用它的调试器。这有点笨拙,因为
它将坚持创建各种项目和解决方案文件
你必须稍后删除,但确实有效。
我过去在这种情况下通常做的是使用g ++开发 和gdb(最好在Linux下),然后将工作代码移植到Windows。 这意味着你几乎从不需要VS调试器(并且gdb很远 比VS调试器更强大。)