分析core文件\r\n 利用pstack 查看分析core文件,其输出函数的6个寄存器值\r\n 利用gdb查看分析core文件,利用bt查看堆栈,输出函数的参数\r\n\r\n 但此两者输出的参数不一致,gdb上的bt输出的为一些异常值\r\n 直接查看寄存器,与pstack查看的值一致\r\n\r\n 请问是什么原因,谢谢\n\n[ 本帖最后由 luckmonkey 于 2007-1-17 11:15 编辑 ]
分析core文件 利用pstack 查看分析core文件,其输出函数的6个寄存器值 利用gdb查看分析core文件,利用bt查看堆栈,输出函数的参数 但此两者输出的参数不一致,gdb上的bt输出的为一些异常值 直接查看寄存器,与pstack查看的值一致 请问是什么原因,谢谢 [ 本帖最后由 luckmonkey 于 2007-1-17 11:15 编辑 ]
gdb的调试是否有大于2G的coredump文件无法通过gdb查看起堆栈信息? 我的linux上有一个2。3G的coredump文件,但是用gdb查看堆栈信息的时候报错 BAF,请问哪位兄台知道这是为什么?有没有什么解决方法可以通过gdb查看大于2G 文件的堆栈信息
你可以使用examine命令(简写是x)来查看内存地址中的值。x命令的语法如下所示: x/ n、f、u是可选的参数。 n 是一个正整数,表示显示内存的长度,也就是说从当前地址向后显示几个地址的内容。 f 表示显示的格式,参见上面。如果地址所指的是字符串,那么格式可以是s,如果地十是指令地址,那么格式可以是i。 u 表示从当前地址往后请求的字节数,如果不指定的话,gdb默认是4个bytes。u参数可以用下面的字符来代替,b表示单字节,h...
查看栈信息 ————— 当程序被停住了,你需要做的第一件事就是查看程序是在哪里停住的。当你的程序调用了一个函数,函数的地址,函数参数,函数内的局部变量都会被压入“栈”(Stack)中。你可以用gdb命令来查看当前的栈中的信息。 下面是一些查看函数调用栈信息的gdb命令: backtrace bt 打印当前的函数调用栈的所有信息。如: (gdb) bt #0 func (n=250) at tst.c:6 #1 0x08048524 in main (argc=1, argv=0xbffff674) at tst.c:...
记得以前gdb可以直接把一个大结构的所以元素的值列出来。 就是例如struct student *p_student, 直接print p_student就可以看到所以的该结构的元素值。 不用print p_student->;score等一个个看 今天看了半天gdb的help,也没找到。 前辈们提个醒?
本人需要调试ASM代码,但是gdb提供的bt 或者frame 选项只是打印函数堆栈(可能我不太明白),但是我需要这样的功能,就是打印当前ss:esp里面的值,就是说,打印esp指向的一段区域,gdb能不能做到这点,本人对gdb一些功能不太熟悉,请见谅!
应用程序崩溃,产生了coredump coredump中是否记录了程序运行时/proc/{pid}/maps的信息? 如果有记录的话,那么在gdb中用什么命令才能查看coredump中的memory map信息