1. 加载调试的程序
file binary_name directory /path (可以添加源文件查找路劲) 2. 程序的运行 r (运行) c (continue) s (跳进某个函数) n (下一步) u (跳出循环) finish (跳出函数) 3. 加断点 b file_name:line_num b file_name:function_name b line_num (会将断点设置在当前源文件行号中) b function_name (会将断点设置在当前源文件函数中) 4. 给断点加条件 condtion num express num为断点号,express为条件表达式,如a==3. 5. 观察点 watch express (表达式变化时候就停止) rwatch express (表达式被读时停止) awatch express (表达式被读或者被写时候停止) 6. 断点管理 info breakpoints (查看断点) dis breakpoints num (禁用断点号num) dis breakpoints num1-num2(禁用范围内的断点) d breakpoints num (删除断点号num) d breakpoints num1-num2(删除范围内的断点) 7. 打印变量 p function::variable p file::variable 8. 自动执行指令 commands bnum(为断点号bnum编写执行指令) 当断点bnum停住时,编写的指令就会执行。 编写例子: commands bnum printf "x is %d\n",x end 则停在断点bnum时,就会自动执行printf语句。 9.查看当前函数代码的反汇编 disassemble func |
|
来自: champion_xu > 《gdb》