使用GDB调试英特尔编译项目

时间:2014-05-07 10:45:27

标签: c++ gdb codeblocks intel-composer

我在Code :: Blocks IDE中有一个简单的Hello World项目,我正在使用英特尔C ++编译器进行编译。

我在项目Build Settings中设置了编译器选项'/ Zi',因此我可以使用断点调试应用程序。但是没有达到任何断点。 似乎在对象中找不到调试符号。

但是,当我更改为使用gcc编译器时,它们已正确到达。

我在这里缺少什么?这不应该是这样的吗?

[更新]

似乎可以在Linux上运行,但不能在Windows上运行。我使用英特尔编译器和正确的编译器选项运行相同类型的测试,我可以达到断点。 Windows会出现问题吗?

1 个答案:

答案 0 :(得分:1)

  

是否有某些原因导致Windows出现问题?

在UNIX上,调试信息通常是完整的文档,通常是标准的(例如Linux使用DWARF)。

在Windows上,Microsoft编译器使用完全未记录且专有的.PDB(Program Database)文件。 GDB无法使用它们。

我不知道英特尔编译器生成的调试信息格式,但idb可能 。{/ p>

有效的是,您无法将GDB与任何Microsoft或Intel编译器混合搭配。