调试英特尔编译项目与GDB
Debugging Intel Compiled Project with GDB
我在Code::Blocks IDE中有一个简单的Hello World项目,我正在使用Intel c++编译器编译。
我已经在项目的构建设置中设置了编译器选项'/Zi',所以我可以用断点调试应用程序。然而,从来没有达到过断点。似乎在对象中找不到调试符号。
当我改为使用gcc编译器时,它们是正确到达的。
我在这里错过了什么?这不应该这样工作吗?
(更新)似乎可以在Linux上工作,但不能在Windows上。我用英特尔编译器和正确的编译器选项运行了同样的测试,一个简单的项目,我可以达到断点。Windows出现问题有什么原因吗?
Windows出现问题的原因是什么?
在UNIX上,调试信息通常是完全文档化的,并且通常是标准的(例如Linux使用DWARF)。
在Windows上,Microsoft编译器使用。pdb(程序数据库)文件,这是完全没有文档记录和专有的。GDB不能使用它们
我不知道英特尔编译器生成的调试信息格式,但很可能格式是只有idb
理解的。
实际上,你不能将GDB与任何微软或英特尔编译器混合和匹配。
相关文章:
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 无法在 CLion 中构建 C++ 项目
- 运行同一解决方案的另一个项目的项目
- CMake-按正确顺序将项目与C运行时对象文件链接
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 欧拉项目#8答案是大以获得有效答案
- 从链接列表c++中删除一个项目
- CMake项目Boost库错误:Boost/config/compiler/gcc.hpp:165:10:致命错误:cs
- 既然存在危险,为什么项目要使用-I include开关
- cmake在我的项目中所需的所有静态库都不成功
- 当在带有Eigen的C++中使用GDB时,我如何才能看到更多的大矩阵
- 如何找出GDB的SIGTRAP核心转储的根本原因
- QT通过C++添加映射QML项目
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 在linux上调试巨大的C++项目
- 使用GDB修复大型项目中的双自由或损坏(!prev)错误
- 如何在复杂的CPP项目中在gdb中打印犰狳矩阵
- 使用CMake生成Visual Studio 2015 Makefile项目(GDB)
- GDB 断点未停止程序(项目符号物理库中的断点)
- 调试英特尔编译项目与GDB