1、加载动态库:
(1) gdb ./a.out coredump
(2)set solib-search-path ./lib
(3)bt
2、addr2line的使用:
# addr2line --help
Usage: addr2line [option(s)] [addr(s)] Convert addresses into line number/file name pairs.
If no addresses are specified on the command line, they will be read from stdin
The options are:
@<file> Read options from <file>
-a --addresses Show addresses
-b --target=<bfdname> Set the binary file format
-e --exe=<executable> Set the input file name (default is a.out)
-i --inlines Unwind inlined functions
-j --section=<name> Read section-relative offsets instead of addresses
-p --pretty-print Make the output easier to read for humans
-s --basenames Strip directory names
-f --functions Show function names
-C --demangle[=style] Demangle function names
-h --help Display this information
-v --version Display the program's versioneg:
# addr2line -e ./a.out -a 0x00000000004005c2 0x0000000000400646 -f
与
# gdb a.out coredump
#0 0x00000000004005c2 in func_1()
#1 0x0000000000400646 in main()
作用相仿。