gdb 打出的堆栈对不上

原因1:
需要确保编译的时候有 -g选项,没有-g是没符号的
原因2:
binary strip过,把符号表删除了
原因3:
binary 跟coredump不匹配
原因4:
产生coredump的机器跟debug机器的库不匹配
一般的输出为 /lib64/xxx.so.x is not at the expected address
这个时候需要把 目标机器的 /lib64 copy 到debug机器上。然后gdb 执行 set sysroot xxxx/ 注意不是/lib64 是lib64的parent目录

posted @ 2022-04-28 11:15  stdpain  阅读(146)  评论(0编辑  收藏  举报