工具箱5:gdb操作

1

target remote:1234

连接gdb-server

port需要根据用户需要调整

2

break [b]

break FunctionName

break FileNmae:LineNumber

断点

3

run [r]

4

continue [c]

5

watch

watch VarName

watch Address

观测

观测变量

观测内存

6

info

info r

info b

info thread

7

backtrace [bt]

函数调用栈

8

frame [f]

frame idx

跳转到函数栈

9

delete [d]

delete BreakIdx

10

next

单步调试 (逐过程,函数直接执行)

11

step

单步调试 (逐语句:跳入函数内部执行)

si

单步调试 (insn跳转)

12

print [p]

打印变量

p/x

16进制

p/t

2进制

13

x

x 0x12345678

x/nfu 0x12345678

查看内存

14

set scheduler-locking on/off/step

线程切换,锁定

15

set print array on

set print array-indexes on

set print pretty on

set print max-depth 1

set print max-depth 0

开启打印数组

开启打印数组索引

16

set print elements 0

设置打印全量字符串(不省略模式)

17

set print repeats 0

设置不合并重复选项,显示<repeats 30 times>

18

set var=10

设置变量值

set $r0=10

设置r0寄存器值

19

gdb 源码映射

set substitute-path /build/dir /path/to/source

编译输出位于/build/dir,而源代码位于/path/to/source

调试显示

1

layout src

显示源代码

2

layout asm

显示汇编

3

layout split

显示源代码+汇编

常用操作

1

elf文件生成dump文件

llvm-objdump -C -t -x -S app.elf > app.elf.dump

2

map文件

link阶段生成 -Map=app.map

开发常用工具箱(杂) 文章被收录于专栏

git docker ubuntu shell gdb

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务