
gdb
文章平均质量分 72
wclin88
这个作者很懒,什么都没留下…
展开
-
gdb 调试 详解
<br />GDB概述<br />GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许<br />,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如<br />果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC、<br />BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就<br />是这个道理。<br /><br />一般来说,GDB主要帮忙你完成下面四个方面的功能:<br /><br />1、启动你的程序,可以按照你的自定义的要求随心所欲的转载 2011-05-07 10:33:00 · 759 阅读 · 0 评论 -
调试的艺术学习笔记--命令记录
1)单步调试: n (next), s(step 跟n的区别,s进入到函数内)2)恢复操作:c(continue) 直到遇到下个断点3)临时断点: tbreak 有效期,第一次遇到4)检查变量:p (printf)5)监视点:watch 当监视点的值发生变化时停止原创 2010-11-07 17:11:00 · 508 阅读 · 0 评论 -
调试的艺术学习笔记--程序崩溃处理(段错误)
l 程序崩溃处理: 1) 为什么程序会奔溃? 当某个错误导致程序突然和异常地停止执行时,程序崩溃。迄今为止最常见的导致程序奔溃的原因是试图在未经允许的情况下访问一个内存单元。什么意思呢?比如说一个内存单元你没有权限去写或读,然后你却这么做了。Unix系列的平台上,操作系统一般会宣布程序导致了段错误(seg fault),并停止程序的执行。但是硬件必原创 2010-11-01 23:35:00 · 935 阅读 · 0 评论 -
new 失败
以下是某个高手定位new失败的过程。一个new失败问题的查找过程 在测试部发现一个问题,整个系统跑一阵后就有daemon程序崩溃,虽不是必现,但是一天还是可以出现好几次,导致性能测试无法继续下去,看core的信息是new失败了,具体堆栈如下: (gdb) bt #0 0x2acd25c1 in kill () from /lib/libc.so.6 #1 0x转载 2012-02-20 15:42:02 · 805 阅读 · 0 评论 -
gdb查看内存 (x/100xb)
可以使用examine命令(简写是x)来查看内存地址中的值。x命令的语法如下所示:x/ n、f、u是可选的参数。n是一个正整数,表示需要显示的内存单元的个数,也就是说从当前地址向后显示几个内存单元的内容,一个内存单元的大小由后面的u定义。f 表示显示的格式,参见下面。如果地址所指的是字符串,那么格式可以是s,如果地十是指令地址,那么格式可以是i。u 表示从当转载 2012-03-13 17:59:50 · 5671 阅读 · 0 评论 -
gdb info
1) info args打印出当前函数的参数名及其值。2)info locals打印出当前函数中所有局部变量及其值。3)info catch打印出当前的函数中的异常处理信息。4)源代码的内存你可以使用info line命令来查看源代码在内存中的地址。info line后面可以跟“行号”,“函数名”,“文件名:行号”,“文件名:函数名”,这个命令会打印原创 2012-03-14 20:42:23 · 8120 阅读 · 0 评论