分享一下本人收集的嵌入式开发资料,希望对同行有所帮助。 Gdb调试命令集 一、调试方法: 首先, gdb到代码的出错处; 然后, bt(backtrace)看函数堆栈, 确定问题出在那条语句。 p(print) 打印变量的值,找原因 up 进入上一层堆栈, 追溯问题出在哪里。 二、 gdb 命令集 关于断点的命令: awatch: awatch用来为一个表达式设置观察点,在表达式的值发生改变时,或者当表达式的 值被读取的时候,程序停止执行。 break: 用于在程序中设置断点 break + 要设置断点的行号 clear: 用于清除断点 clear + 要清除断点的行号 commands: 用于为遇到断点之后执行特定的指令而设置的 command + 断点号 如果commands 之后没有断点号,gdb会将最后一个设置的断点编号作为默认值。 condition: 在满足一定的条件时才在指定的行上设置断点 condition 断点编号 条件表达式 delete: 用于清除断点和自动显示的表达式的命令。与clear的不同之处:clear要给出断点 的行号,delete要给出断点的编号。用clear命令清除断点时gdb会给出提示,而用dele te清除断点时gdb不会给出任何提示 disable: 让所设断点暂时失效。如果要让多个编号处的断点失效可将编号之间用空格隔开 enable: 与disable 相对 ignore: 这条命令在一定范围内忽略用户设定的断点 ignore N CONT tbreak: 用于设置临时断点,所谓临时断点就是断点只在设置之后起作用一次。 watch: 与awatch类似 关于数据的命令: display: 该命令用于显示表达式的值,使用了该命令后,每当程序运行到断……