gdb -p 进程号
gcc -g crc.c
gdb -q a.out
(gdb) l 显示10行
(gdb) b 15 在15行加断点
(gdb) r 开始执行
(gdb) n 执行一步
(gdb) x /3x &data 以16进制显示date数据
(gdb) p <变量名> p/o i 将i显示为八进制
gdb up 退到堆栈的上一层 (gdb) set variable <变量> = <表达式>:将变量的值设定为指定表达式的值。例如 set variable x=10
(gdb) break <函数名>:对当前正在执行的文件中的指定函数设置断点。可简写为:(gdb) b <函数名>
(gdb) break <行号>:对当前正在执行的文件中的特定行设置断点。可简写为:(gdb) b <行号>
(gdb) break <文件名:行号>:对指定文件的指定行设置断点。最常用的设置断点方式。可简写为:(gdb) b <文件名:行号>
(gdb) break <文件名:函数名>:对指定文件的指定函数设置断点。可简写为:(gdb) b <文件名:函数名>
(gdb) b <断点> if <条件表达式> : 例如:b main.cpp:8 if x=10 && y=10
(gdb) watch <表达式>:表达式发生变化时暂停。
(gdb) info break :显示所有断点以及监视点。可简写为:(gdb) i b
(gdb) delete <编号>:删除编号指向的断点或者监视点。可简写为:(gdb) d <编号>
(gdb) clear <行号>:删除改行的断点。
(gdb) clear <文件名:行号>:删除改行的断点。
gdb disassemble /m dump 出当前函数的汇编代码