gdb加载动态链接库和addr2line的使用方法

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()

作用相仿。

发布了207 篇原创文章 · 获赞 77 · 访问量 29万+

猜你喜欢

转载自blog.csdn.net/daa20/article/details/103981147