与 MSVC++ 2010 编译器一起使用的调试器
Posted
技术标签:
【中文标题】与 MSVC++ 2010 编译器一起使用的调试器【英文标题】:Debugger to Use with MSVC++ 2010 Compiler 【发布时间】:2012-01-23 08:20:43 【问题描述】:假设我使用的是非 Visual Studio,并使用 cl.exe 在命令行中构建,我应该使用什么调试器?
我尝试使用 MinGW 的 gdb.exe,但它似乎与 cl.exe 输出的调试符号不兼容(它报告“没有调试找到符号")。
我觉得这是一个很荒谬的问题,但似乎很难找到关于 MSVC++ 的非 VS 特定信息。
现在我正在使用安装 Visual Studio 2010 Express 只是为了访问 cl.exe,但我不将它用作 IDE。 p>
【问题讨论】:
【参考方案1】:你应该学习WinDBG,它可以调试用户模式和内核模式代码。正如您所指的 GDB,我认为 WinDBG 的命令行界面对您来说不会是问题 :)
顺便说一句,WinDBG 是 Windows 开发者的官方调试器,所以你可以期待它会被长期支持。
【讨论】:
【参考方案2】:使用WinDbg。这是一个出色的调试工具,尽管它可能需要一些时间才能进入。 MinGW 不会削减它,因为它使用不同的符号格式。 WinDBG 也是 Windows SDK 的一部分,您可能已经安装了它,所以只需检查您是否已经安装了它。
【讨论】:
【参考方案3】:如果你有 Visual Studios(我不认为你可以得到 cl.exe
没有它),你仍然可以使用它的调试器。有点笨拙,因为
它将坚持创建各种项目和解决方案文件
您稍后必须删除,但它确实有效。
我过去在这种情况下通常做的是使用 g++ 进行开发 和 gdb(最好在 Linux 下),然后将工作代码移植到 Windows。 这意味着您几乎从不需要 VS 调试器(而 gdb 远 比 VS 调试器更强大)。
【讨论】:
以上是关于与 MSVC++ 2010 编译器一起使用的调试器的主要内容,如果未能解决你的问题,请参考以下文章
Qt Creator 安装SDK,在MSVC编译模式下使用CDB调试器
Qt Creator 和 MSVC - 在调试时忽略特定的异常类型?