|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Linux的gdb调试. L1 q; Q/ Z9 ]+ U
6 |! N3 B( @8 Q8 W
" p$ E) V1 J2 A- T
一.gdb常用命令:. k( i* B% p* h f1 G
7 L, r: b/ I! k! o. G& I
命令 描述
7 a: v$ ?6 o+ V! ?3 O4 Q7 ~% m8 Gbacktrace(或bt) 查看各级函数调用及参数, v& U# l6 ^2 o# u( ?
finish 连续运行到当前函数返回为止,然后停下来等待命令
% b7 x: b" W D/ |9 S, Eframe(或f) 帧编号 选择栈帧' z% B% k$ @" z4 A' g; e: y9 R; ~$ S
info(或i) locals 查看当前栈帧局部变量的值9 z5 }" h, g" \
list(或l) 列出源代码,接着上次的位置往下列,每次列10行
" Z G, `7 m vlist 行号 列出从第几行开始的源代码3 D1 W* F6 g ^
list 函数名 列出某个函数的源代码7 m- A$ f, C4 e+ h7 y" C
next(或n) 执行下一行语句1 w/ K3 @+ k) W
print(或p) 打印表达式的值,通过表达式可以修改变量的值或者调用函数
% |1 U. N3 ?/ C5 [9 Dquit(或q) 退出gdb调试环境5 V4 \# ?! e& N
set var 修改变量的值# u; @% [1 t1 Y* C% N
start 开始执行程序,停在main函数第一行语句前面等待命令+ o$ h$ D8 d& }# R6 D7 O4 B' I# z) q
step(或s) 执行下一行语句,如果有函数调用则进入到函数中: b3 S; T2 M# V2 P8 m
# Z. r$ A8 T7 ^1 P b
/ d; n% u4 b E. G9 e二.gdb学习小例:
9 ?9 e& N+ w6 l6 z- Z) i7 j
3 ~ U. @8 b) B |
|