基本使用不会贴在这里。只是放自己的使用心得。
基本使用可以看这个
http://fanqiang.chinaunix.net/program/other/2006-07-14/4834.shtml
1.为什么没有调试信息?
多模块的时候,我明明debug编译了,相应的.so文件也拷贝到安装目录中了,加断点的时候,找不到文件提示:No source file namedXXXXX。
原来要运行的时候才加载对应的文件。
比如说你要给一个对话框创建的时候的代码加断点。先把这个对话框运行起来,然后加断点就可以了。
网上搜了下,说可以在.gdbinit里加
"set breakpoint pending on"
解决。我没试过。
2.调用堆栈
命令:bt //列出调用堆栈
命令:frame id //栈顶ID号为0,往后依次类推。
用frame命令不会让程序的执行跳转到对应位置,但是你可以查看变量及各种状态。程序的下一条指令不会随frame而边。它会给你造成程序好像从后面重新执行的错觉。
3.打印内存。
X命令。可以用help x来查看。
x/<n/f/u> <addr>
n、f、u是可选的参数。
n 是一个正整数,表示显示内存的长度,也就是说从当前地址向后显示几个地址的内容。
f 表示显示的格式,参见上面。如果地址所指的是字符串,那么格式可以是s,如果地十是指令地址,那么格式可以是i。
x 按十六进制格式显示变量。
d 按十进制格式显示变量。
u 按十六进制格式显示无符号整型。
o 按八进制格式显示变量。
t 按二进制格式显示变量。
a 按十六进制格式显示变量。
c 按字符格式显示变量。
f 按浮点数格式显示变量。
u表示单位的大小:如果不指定的话,GDB默认是4个bytes。u参数可以用下面的字符来代替,b表示单字节,h表示双字节,w表示四字 节,g表示八字节。
例子:
假设t是int型变量
(gdb) x/t &t
0xbffff3ac: 00000000001010000011111111111101
(gdb) x/4bt &t
0xbffff3ac: 11111101 00111111 00101000 00000000
4.打印数组
例如,你的程序中有这样的语句:
int *array = (int *) malloc (len * sizeof (int));
于是,在GDB调试过程中,你可以以如下命令显示出这个动态数组的取值:
p *array@len
5.core dump
http://my.oschina.net/kaixindewo/blog/28526
http://www.cnblogs.com/lbsx/archive/2010/10/09/1846535.html
http://cs.baylor.edu/~donahoo/tools/gdb/tutorial.html
http://www.linuxsir.org/bbs/thread344797.html
分享到:
相关推荐
很好的几个节扫gdb的资料,想学习gdb的刚快来下吧。
关于gdb: GDB是GNU开源组织发布的一个强大的linux下的程序调试工具,一般来说,GDB主要完成下面四个方面的功能: (1)、启动程序,可以按照用户自定义的要求运行程序。 (2)、可让被调试的程序在所指定的调置的...
一个关于gdb使用小技巧的文档。100,在这里可能只是表明很多;具体的数目取决于您的参与和贡献。
这是GDB完全手册,用来在Linux环境下的GDB调试,很重要
GDB调试GDB调试GDB调试GDB调试GDB调试 GDB调试GDB调试GDB调试GDB调试GDB调试
GDB调试工具指南.pdf 关于gdb的详细使用介绍
关于Gdb 调试的介绍,适合学习gdb ,命令很多
自己写的,关于GDB调试的培训ppt,主要讲gdb历史,gdb使用,kgdb使用,gdb原理,用于演示gdb比较好
gdb 源码
GDB完全手册GDB完全手册GDB完全手册GDB完全手册GDB完全手册
gdb64.exe和gdb.exe,呐,如名字所示喽
GDB中文手册 介绍GDB的基本调试方法
gdb调试案例gdb64常用命令说明: [root@redhat home]#gdb 调试文件:启动gdb (gdb) l :(字母l)从第一行开始列出源码 (gdb) break n :在第n行处设置断点 (gdb) break func:在函数func()的入口处设置断点 (gdb) ...
gdb手册debuging with gdb 中文版本的
This is the Tenth Edition, of Debugging with GDB: the GNU Source-Level Debugger for GDB (GDB) Version 8.1.90.20180814-git. Copyright © 1988-2018 Free Software Foundation, Inc. Permission is granted...
gdb调试器的使用gdb调试器的使用gdb调试器的使用gdb调试器的使用gdb调试器的使用
下载了几乎所有网上关于gdb的资料后,精心挑选的精华
GDB官网用户手册
debugging with GDB GDB使用指南