GDB找不到boost BGL头文件中定义的符号

时间:2013-03-21 03:32:43

标签: c++ boost gdb inline symbols

我能够在OSX 10.8.3上编译和运行使用C ++ boost图库(BGL)的可执行文件。 但是当我尝试使用gdb或Xcode进行调试时,调试器无法找到BGL头文件adjacency_list.hpp中定义的符号。 我查看了该文件并尝试了不同的命名空间

boost::in_degree 
boost::detail::in_degree

但是调试器找不到符号。 似乎函数内联并且信息丢失。 我尝试了另一个具有相同结果的函数(add_vertex)。 我使用带有标志-DCMAKE_BUILD_TYPE=Debug的CMake编译代码,并且我能够打印其他符号。 请建议我该如何解决这个问题。

// Trying using 
(gdb) print boost::detail::in_degree
    No symbol "in_degree" in namespace "boost::detail".
(gdb) print boost::detail::in_degree(0, *pGraph)
    No symbol "in_degree" in namespace "boost::detail".
(gdb) print boost::in_degree(0, *pGraph)
    No symbol "in_degree" in namespace "boost".

// Trying using boost::
(gdb) pt boost::in_degree
    No symbol "in_degree" in namespace "boost".
(gdb) pt boost::in_degree(0, *pGraph)
    No symbol "in_degree" in namespace "boost".

0 个答案:

没有答案