我在ubuntu 10.10上使用gdb 7.2
在踩着step
的时候,我得到一个看起来(字面意思)的点:
0x00130a2c in boost::contexts::context::impl_t::impl_t(void (*)(void*), void*, unsigned int, boost::contexts::context::impl_t*, std::auto_ptr<boost::contexts::context::allocator_base>) () from /home/lurscher/third_party/boost_1_45_0/stage/lib/libboost_context.so.1.45.0
所以我现在要关联适当的源文件;可能应该在/home/lurscher/third_party/boost_1_45_0/boost/context
和/home/lurscher/third_party/boost_1_45_0/libs/context
。
但事实是我不知道如何实现这一点,因为我必须在终端模式下调试已经多年了
答案 0 :(得分:4)
您可以使用调试符号编译第三方库,这些调试符号将链接[即如果您的应用程序是使用调试符号编译的,您可以逐步查看源代码行甚至在库中
boost jam需要一个调试参数,指示它构建一个调试版本。
在gcc中,调试符号是-g
答案 1 :(得分:1)
如果您的库是在调试模式下编译的,但是GDB只是找不到源,您应该使用dir
命令将源目录添加到搜索列表中。