使用 Visual C++ Toolkit 2003 和 CodeBlocks 进行调试

Debugging with Visual C++ Toolkit 2003 and CodeBlocks

我正在使用免费的 Microsoft Visual C++ 工具包 2003(编译器 VC++ 7.1)和 CodeBlocks IDE 开发一个 C++ 项目。您可能知道,这个免费包不包括调试器工具,只包括编译器和链接器。

有什么方法可以在我当前的场景中包含调试器吗?我在不使用 Visual Studio 的情况下调试该项目的机会有多大?

不知道 Microsoft Visual C++ Toolkit 2003,但 CodeBlocks IDE 带有默认调试器 (GDB/CDB)。在安装过程中,向导要求 GDB 作为默认调试器。

如果您安装了调试器并且存在一些配置问题,那么您可以转到“设置”->“调试器”并设置调试器路径。

如果没有安装调试器,您可以通过插件->管理插件->安装新插件来安装它

无法 Post 图片抱歉。

由于Code::Blocks是您的偏好,并且您希望使用远程调试,并且您有使用VC编译器的经验,因此最简单,最流畅的解决方案可能会留在那条路上。正如@user1610015 所建议的,更新到 VS2015 Community Edition,它肯定包含一个独立的 compiler (cl) and linker (link). Of course, CL will call the linker on your behalf, unless you specify otherwise.

这里是VS版本的comparison chart(select'expand all')

作为奖励,您将收到一些关于现代 C++(11 和 14)的巨大更新、更好的远程调试、更好的代码生成、无数的优化、改进的错误报告和分析等等。

然而,相对于 __asm (as of VS2013), you will be limited to x86. When requiring x64, some have chosen to port this to intrinics,许多人只是简单地将汇编程序移动到一个单独的 .asm 文件,并进行一个小的配置更改以让 VS 编译该文件:

  • Select 项目(不是 .sln)
  • 从菜单中,select 项目 --> 构建自定义...
  • 选中 masm 旁边的复选框

如果您打算以 x86 为目标,则无需进行任何更改。您没有在引用 VS2008 时指定迁移更改,但是从早期的 VS 编译器迁移了几个大型旧项目后,我发现这种体验非常轻松。

如果您的编译器特定代码不是太多,请考虑 Clang 和 gcc (MinGW)。我喜欢使用 CLion,并使用 gcc 编译相同的项目 (CMake),我有一个 VS2015 项目和解决方案。有时我会对一些必要的更正感到惊讶。我还没有尝试 Code::Blocks,但我怀疑这是一个类似的练习。

祝你好运。我相信你会粉碎它。