模板函数内部的断点,Eclipse CDT开普勒
Breakpoint inside template function, Eclipse CDT Kepler
我知道以前可能有人问过这个问题,但我没有找到任何令人满意的答案。我的问题是:我正在Eclispe CDT开普勒下开发C++
。我使用g++4.8.2
作为编译器,使用ggdb 7.6
作为调试器(均通过macports
安装),所以不使用OS X附带的clang
工具(我的操作系统是OS X Mavericks)。
现在,在Eclipse中,我可以设置断点,并在除模板函数外的任何地方进行逐步调试(模板函数内的断点被忽略)。模板函数在实现文件(.cpp扩展名)中定义,是独立的函数,而不是任何类的成员。我还用ggdb
作为调试工具设置了qt creator
,得到了相同的行为,断点在模板函数中被忽略,并得到了以下警告(仅当试图在模板函数添加断点时):
&"warning: GDB: Failed to set controlling terminal: Operation not supported on socketn"
所以,这一定是一个ggdb
问题。
苹果默认的llvm
可以使用,但我必须使用g++
,因为它支持OpenMP
,并且不能将llvm
与g++
结合使用。
你有没有遇到这种烦人的行为?这是ggdb
的已知问题吗?您知道这个问题的任何解决方案吗,即使用g++
编译时如何在模板函数中设置断点?
谢谢!
我不记得gdb 7.6中这个区域有什么特定的bug。
通常,如果出现这种问题,是由于缺少debuginfo——编译器问题,而不是调试器问题。然而,这里没有足够的信息来真正了解。
当我遇到这样的问题时,我通常使用objdump来查看debuginfo并搜索我感兴趣的函数。
相关文章:
- Eclipse CDT:单个项目中有多个C++文件
- 使用 Eclipse CDT 进行 Cplex 配置
- Eclipse CDT clang 工具链 - 无法从链接器选项中删除 stdlibc++,但可以添加 libc++,E
- 将编译器开关添加到 Eclipse CDT 内置编译器设置生成?
- Eclipse CDT 条件编译?
- 在 Eclipse CDT 中使用 Visual Studio Toolchain 包含 3rd 方库
- 在静态库中使用 #ifdef(C++,Eclipse CDT)
- Eclipse CDT 项目中的缺省C++标准是什么?
- Eclipse CDT 将 static_assert(cond) 突出显示为语法错误
- 不正确的输出和变量未用Eclipse CDT初始化构造函数
- Eclipse CDT:传递具有相同文件扩展名的多个程序参数
- 在 CentOS 7 上通过 devtoolset-4 安装的 Eclipse CDT 使用了错误版本的 gcc/g++
- Eclipse CDT不确定的参考(通过mysys2下载的软件包)
- Eclipse CDT 不了解方法定义是什么
- Eclipse CDT 打开声明的自动类型变量
- Eclipse CDT将方法定义定义到标头文件
- Eclipse CDT - 使用模板默认值时的"Invalid arguments"
- Eclipse-cdt boost shared_ptr.hpp:目录中没有此类文件,但它的一部分是包含文件
- eclipse cdt索引c文件的结果与c 文件不同
- 在 Eclipse CDT 中执行 sudo make install