c语言,gdb
Get gdb call stack http://blog.csdn.net/zoufeiyy/article/details/1490241
Debugging with GDB - Examining the Stack? http://web.mit.edu/gnu/doc/html/gdb_8.html
(1)準備: gcc -g ##########################################################################################CFLAGS += -I.. -gmsview: msview.o$(CC) $(CFLAGS) -o $@ msview.o $(LDFLAGS) $(LDLIBS)########################################################################################### Standard object building.c.o:$(CC) $(CFLAGS) -g -c $< -o $@########################################################################################## # Standard object building for dynamic library components using -fPIC.c.lo:$(CC) $(CFLAGS) -g -fPIC -c $< -o $@##########################################################################################(2)break$ gdb ./msview (gdb) break unpack.c:76(gdb) run data(3)查看調用堆棧(gdb) bt#0 msr_unpack (record=0x7ffff7ed2010 "000001D", ' ' <repeats 13 times>, "\a\262", reclen=4096, ppmsr=0x7fffffffe210, dataflag=1 '\001', verbose=0 '\000') at unpack.c:76#1 0x0000000000417320 in msr_parse (record=0x7ffff7ed2010 "000001D", ' ' <repeats 13 times>, "\a\262", recbuflen=4096, ppmsr=0x7fffffffe210, reclen=4096, dataflag=1 '\001', verbose=0 '\000')at parseutils.c:108#2 0x000000000040311a in ms_readmsr_main (ppmsfp=0x7fffffffe1a0, ppmsr=0x7fffffffe210, msfile=0x7fffffffe66b "data", reclen=4096, fpos=0x0, last=0x0, skipnotdata=1 '\001', dataflag=1 '\001', selections=0x0, verbose=0 '\000') at fileutils.c:552#3 0x0000000000401d6e in ms_readmsr (ppmsr=0x7fffffffe210, msfile=0x7fffffffe66b "data", reclen=-1, fpos=0x0, last=0x0, skipnotdata=1 '\001', dataflag=1 '\001', verbose=0 '\000') at fileutils.c:105#4 0x00000000004017a2 in main (argc=2, argv=0x7fffffffe3b8) at msview.c:75斷點打在 msr_unpack,npack.c:76--msr_parse parseutils.c:108--ms_readmsr_main fileutils.c:552--main msview.c:75 ? GDB筆記 http://www.cnblogs.com/babyking/archive/2010/10/28/1863558.htmlGDB調試器用法 https://i.cnblogs.com/EditPosts.aspx?postid=4778015
看內存:? x
?(gdb) x/10xb? 0x400703? 以十六進制方式查看內存地址0x400703開始10個字節的value。
參考:
1. 通過 GDB 學習 C 語言?http://blog.jobbole.com/87482/
2.?Linux gdb設置和管理斷點?http://www.cnblogs.com/rosesmall/archive/2012/04/13/2445527.html
3.Vim與GCC和gdb完美組合?http://www.cnblogs.com/Shirlies/p/3278937.html
4.?GDB使用基礎(轉載)?http://bbs.21ic.com/blog-678712-84132.html
轉載于:https://www.cnblogs.com/mylinux/p/4778015.html
總結
- 上一篇: SSH2
- 下一篇: CPlus的简单线程的制作