linux下core文件的调试(valgrind使用)
2015-04-10 09:06
393 查看
1.linux下可以使用valgrind来检测内存泄露和相关问题。例如恒生中间件启动,可以加上以下
valgrind --error-limit=no --tool=memcheck --leak-check=full --log-file=ufx.log hsserver -start mainsvr -f ar_ufx.xml -s 0 -t ar -c
2.core文件的调试
gdb hsserver.exe core.24679进入后。
输入bt或者where命令。
f命令:进入栈
p命令:打印相关信息
x命令:
可以使用examine命令(简写是x)来查看内存地址中的值。x命令的语法如下所示:
比如 x /5i
x/<n/f/u> <addr>
n、f、u是可选的参数。
n是一个正整数,表示需要显示的内存单元的个数,也就是说从当前地址向后显示几个内存单元的内容,一个内存单元的大小由后面的u定义。
f 表示显示的格式,参见下面。如果地址所指的是字符串,那么格式可以是s,如果地十是指令地址,那么格式可以是i。
u 表示从当前地址往后请求的字节数,如果不指定的话,GDB默认是4个bytes。u参数可以用下面的字符来代替,b表示单字节,h表示双字节,w表示四字 节,g表示八字节。当我们指定了字节长度后,GDB会从指内存定的内存地址开始,读写指定字节,并把其当作一个值取出来。
<addr>表示一个内存地址。
注意:严格区分n和u的关系,n表示单元个数,u表示每个单元的大小。
n/f/u三个参数可以一起使用。例如:
命令:x/3uh 0x54320 表示,从内存地址0x54320读取内容,h表示以双字节为一个单位,3表示输出三个单位,u表示按十六进制显示。
valgrind --error-limit=no --tool=memcheck --leak-check=full --log-file=ufx.log hsserver -start mainsvr -f ar_ufx.xml -s 0 -t ar -c
2.core文件的调试
gdb hsserver.exe core.24679进入后。
输入bt或者where命令。
f命令:进入栈
p命令:打印相关信息
x命令:
可以使用examine命令(简写是x)来查看内存地址中的值。x命令的语法如下所示:
比如 x /5i
x/<n/f/u> <addr>
n、f、u是可选的参数。
n是一个正整数,表示需要显示的内存单元的个数,也就是说从当前地址向后显示几个内存单元的内容,一个内存单元的大小由后面的u定义。
f 表示显示的格式,参见下面。如果地址所指的是字符串,那么格式可以是s,如果地十是指令地址,那么格式可以是i。
u 表示从当前地址往后请求的字节数,如果不指定的话,GDB默认是4个bytes。u参数可以用下面的字符来代替,b表示单字节,h表示双字节,w表示四字 节,g表示八字节。当我们指定了字节长度后,GDB会从指内存定的内存地址开始,读写指定字节,并把其当作一个值取出来。
<addr>表示一个内存地址。
注意:严格区分n和u的关系,n表示单元个数,u表示每个单元的大小。
n/f/u三个参数可以一起使用。例如:
命令:x/3uh 0x54320 表示,从内存地址0x54320读取内容,h表示以双字节为一个单位,3表示输出三个单位,u表示按十六进制显示。
相关文章推荐
- linux ulimit的使用,如何产生core文件,调试段错误
- Linux下交叉编译gdb,gdbserver+gdb的使用以及通过gdb调试core文件
- 转载_Linux core dump file详解及使用GDB调试Coredump文件
- Linux下使用core文件调试程序
- Linux下使用gdb调试core文件
- Unix/Linux使用core文件调试程序
- Linux下使用gdb调试core文件
- Linux 内存调试工具- Valgrind 使用初探(转)
- sunsunsun000的分享 分享 Linux环境生成core文件 &&Linux Core Dump 配置与调试
- linux对core 文件进行调试
- core文件的调试使用
- 在linux下使用core dump和map文件调试
- 在Linux下产生并调试core文件
- 开始使用linux的core文件
- 在Linux下产生并调试core文件
- Linux 内存调试工具- Valgrind 使用初探
- Linux下core文件调试方法收藏
- 打开linux调试宏开关生成core文件
- Linux下core文件调试方法
- linux下调试core文件