不写基礎教程,只记关键功能;
1.启动时候可以gdb -x ./gdbinit.file 命令来导入重复设置的命令:
set pagination off
set disassemble-next-line on
set breakpoint pending on
set stop-on-solib-events 0
show stop-on-solib-events
b sigaction
b __pthread_start
break JNI_OnLoad
提前打好断点
2. gdb -x "target remote :12345"包个脚本来每次连远程调试,写成脚本。
3.可以使用examine命令(简写是x)来查看内存地址中的值。x命令的语法如下所示:
x/<n/f/u> <addr>
n、f、u是可选的参数。
n是表示 输出几次
f为格式;包括:
u为 这个格式多少内存空间。
例子:
x/10w2
gdb默认AT
set disassembly-flavor intel
disa
find /b1 $r1,+10000,0xad
寄存器 info registers
4.commands命令来设置断点触发动作:
如图:
5. set $r0 9 来修改寄存器
6.控制信号:
处理信号:
(gdb) handle SIGSTOP
Signal Stop Print Pass to program Description
SIGSTOP Yes Yes Yes Stopped (signal)
命令可以写的配置有 "stop", "nostop", "print", "noprint","pass", "nopass", "ignore", or "noignore".
(gdb)handle SIGSTOP stop print pass
2018.03.13up
2019.05.29up添加rc配置文件
2019.05.30up 添加信号控制.