程序调试
赤云
这个作者很懒,什么都没留下…
展开
-
2.步步学GDB-基本命令
一:列文件清单 1. List (gdb) list line1,line2 二:执行程序 要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符(<和>)和外壳通配符(*、?、[、])在内。 如果你使用不带参数的run命令,gdb就再次使用你给予前一条run命令的参数,这是很有用的。 利用set args 命令就可以修改发送给程序...转载 2018-06-26 10:34:23 · 158 阅读 · 0 评论 -
1.步步学GDB-《1》
GDB开题GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。 于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更为强劲的功能。而Windows下...转载 2018-06-26 10:21:06 · 144 阅读 · 0 评论 -
步步学GDB-基本命令简写
命令解释示例file <文件名>加载被调试的可执行程序文件。因为一般都在被调试程序所在目录下执行GDB,因而文本名不需要带路径。(gdb) file gdb-samplerRun的简写,运行被调试的程序。如果此前没有下过断点,则执行完整个程序;如果有断点,则程序暂停在第一个可用断点处。(gdb) rcContinue的简写,继续执行被调试程序,直至下一个断点或程序结束。(gdb) cb...转载 2018-06-26 10:36:13 · 803 阅读 · 0 评论 -
步步学GDB-《2》
GDB的命令概貌启动gdb后,就你被带入gdb的调试环境中,就可以使用gdb的命令开始调试程序了,gdb的命令可以使用help命令来查看,如下所示: /home/hchen> gdb GNU gdb 5.1.1 Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by ...转载 2018-06-26 10:37:04 · 140 阅读 · 0 评论 -
步步学GDB-《3》
四、维护停止点上面说了如何设置程序的停止点,GDB中的停止点也就是上述的三类。在GDB中,如果你觉得已定义好的停止点没有用了,你可以使用delete、clear、disable、enable这几个命令来进行维护。 clear 清除所有的已定义的停止点。 clear <function> clear <filename:function> ...转载 2018-06-26 10:37:44 · 153 阅读 · 0 评论 -
4.使用assert函数来调试程序
我一直以为assert仅仅是个报错函数,事实上,它居然是个宏,并且作用并非“报错”。 在经过对其进行一定了解之后,对其作用及用法有了一定的了解,assert()的用法像是一种“契约式编程”,在我的理解中,其表达的意思就是,程序在我的假设条件下,能够正常良好的运作,其实就相当于一个if语句:if(假设成立){ 程序正常运行;}else{ 报错&&终止程序!(避免由...转载 2018-06-28 09:29:24 · 263 阅读 · 0 评论 -
5.使用printf来调试程序
#define OUT_PRINTF(...) \ do { \ printf("\e[0;32m%s@line%d\t:", __FUNCTION__, __LINE__); \ printf(__VA_ARGS__); ...原创 2018-06-28 10:02:44 · 594 阅读 · 0 评论