【问题标题】:coredump file get line number to a shared librarycoredump 文件获取共享库的行号
【发布时间】:2021-07-11 23:49:24
【问题描述】:

我正在使用 gdb 分析核心转储文件。可执行文件链接到共享库,可执行文件和共享库都使用-g 标志编译,在bt 我可以看到可执行文件中的第 num 行,但看不到共享库。有什么办法解决这个问题吗?

我是这样打开核心文件的:

gdb /path/to/executable /path/to/core/file
(gdb) bt
#0  0x00007f4e7711b438 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1  0x00007f4e7711d03a in __GI_abort () at abort.c:89
#2  0x00007f4e7858b8b1 in std::pair<tsmap3::NearestPtResult, double> tsmap3::IndexTree::GetNearestPt2<tsmap3::LaneImpl>(tsmap3::Point3d const&, tsmap3::Point3d const&, double, std::function<tsmap3::NearestPtResult (tsmap3::Point3d const&, tsmap3::LaneImpl const*)>, std::function<bool (tsmap3::LaneImpl const*)>, std::unordered_set<unsigned long, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<unsigned long> >&) const () from /home/ziqi.liu/code/map-lane-map3/build/src/tsmap3.cpython-35m-x86_64-linux-gnu.so
#3  0x00007f4e784d93a0 in tsmap3::NearestPtResult tsmap3::GridSystem::GetNearestPt<tsmap3::LaneImpl>(tsmap3::Point3d const&, double, std::function<tsmap3::NearestPtResult (tsmap3::Point3d const&, tsmap3::LaneImpl const*)> const&, std::function<bool (tsmap3::LaneImpl const*)> const&) () from /home/ziqi.liu/code/map-lane-map3/build/src/tsmap3.cpython-35m-x86_64-linux-gnu.so
#4  0x00007f4e784bf201 in tsmap3::TSMapImpl::GetNearestRefPt(tsmap3::Point3d const&, double, std::vector<tsmap3::Lane::Property, std::allocator<tsmap3::Lane::Property> > const&, bool) const ()
   from /home/ziqi.liu/code/map-lane-map3/build/src/tsmap3.cpython-35m-x86_64-linux-gnu.so
#5  0x00007f4e78537fb3 in tsmap3::TSMap::GetNearestRefPt(tsmap3::Point3d const&, double, std::vector<tsmap3::Lane::Property, std::allocator<tsmap3::Lane::Property> > const&, bool) const ()
   from /home/ziqi.liu/code/map-lane-map3/build/src/tsmap3.cpython-35m-x86_64-linux-gnu.so
#6  0x00000000004230d2 in main (argc=<optimized out>, argv=<optimized out>) at /home/ziqi.liu/code/map-lane-map3/examples/bench_get_nearest_ref_pt.cpp:54

/home/ziqi.liu/code/map-lane-map3/build/src/tsmap3.cpython-35m-x86_64-linux-gnu.so 是共享库的so文件。

我确实有那个共享库的源文件,我想我需要提示 gdb 在哪里可以找到源文件

【问题讨论】:

  • @AllanWind 当我输入sharedlibrary tsmap3 时,gdb 似乎已经为该共享库加载了符号,但它没有显示行号。所以我猜gdb找不到源文件,有没有办法让gdb知道源文件的位置?

标签: c++ linux gdb coredump


【解决方案1】:

对不起各位,我发现共享库没有符号表可以调试,肯定是编译有问题.....

【讨论】:

    猜你喜欢
    • 2018-12-28
    • 1970-01-01
    • 1970-01-01
    • 2013-09-12
    • 1970-01-01
    • 2011-07-10
    • 2015-09-05
    • 1970-01-01
    • 2011-05-18
    相关资源
    最近更新 更多