随笔分类 -  软件调试的艺术

摘要:转自 http://www.cnblogs.com/hazir/p/linxu_core_dump.html 当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,这种行为就叫做Core Dump(中文有的翻译成“核心转储”)。我们可以认为 core dump 阅读全文
posted @ 2016-03-22 20:36 neteasefans 阅读(2253) 评论(0) 推荐(0)
摘要:转自 http://blog.csdn.net/todd911/article/details/36190953 1.调试多线程程序 下面是于线程相关的GDB命令用法汇总: info threads:给出关于当前所有线程的信息。 thread 3:改成线程3. break 88 thread 3 : 阅读全文
posted @ 2015-06-29 10:38 neteasefans 阅读(420) 评论(0) 推荐(0)
摘要:使用print命令(简写为p)可以查看变量值。 使用如下的程序1进行测试。 (gdb) b main Breakpoint 1 at 0x804839a: file a.c, line 10.(gdb) rStarting program: /root/a.outBreakpoint 1, main 阅读全文
posted @ 2015-06-29 10:36 neteasefans 阅读(197) 评论(0) 推荐(0)
摘要:创建的每个断点(包括断点、监视点和捕获点)都标识为从1开始的唯一整数标识符。这个标识符用来执行该断点上的各种 操作。调试器还包含一种列出所有断点及其属性的方法。 调试下面的代码:(代码1) 以下操作演示,设置断点--显示断点列表--删除断点--显示删除后断点列表: (gdb) break mainB 阅读全文
posted @ 2015-06-27 17:02 neteasefans 阅读(185) 评论(0) 推荐(0)
摘要:如果要使用gdb进行调试,必须在编译时在gcc中加入-g选项,使用参数 -g 表示将源代码调试信息编译到可执行文件中。 如果使用-g选项: gcc -g main.c $ gdb a.out (gdb) b mainBreakpoint 1 at 0x4004fc: file main.c, lin 阅读全文
posted @ 2015-06-27 16:21 neteasefans 阅读(526) 评论(0) 推荐(0)