子嘉的博客 子嘉的博客
首页
bic-bic
技术
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

高子嘉

没有比脚更长的路,没有比人更高的山
首页
bic-bic
技术
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • new
  • vector_init
  • vector_traverse
  • macro_magic
  • io
  • gdb
  • cplusplus
子嘉
2022-06-05

gdb

# gdb 调试运行中的进程

先查出进程的 pid,使用下面命令

(gdb) gdb attach pid
1

使用简易界面形式调试

(gdb) gdb -tui gameworld core.1234
1

调试带参数程序

set args 1 //可指定运行时参数。(如:set args 10 20 30 40 50)
show args //命令可以查看设置好的运行参数
1
2
命令 描述 例
gcc -g main.c 在目标文件加入源代码的信息
gdb a.out gdb a.out
start 开始调试
next/n 一条一条执行
step/s 执行下一条,如果函数进入函数
backtrace/bt 查看函数调用栈帧
info/i locals 查看当前栈帧局部变量
frame/f 选择栈帧,再查看局部变量
print/p 打印变量的值,局部变量或全局变量等
finish 运行到当前函数返回
set var sum=0 修改变量值
list/l 列出源码,行号或函数名
display/undisplay sum 每次停下显示变量的值/取消跟踪
break/b 设置断点,行号或函数名 b test.cpp:23
continue/c 连续运行
info/i breakpoints 查看已经设置的断点
delete breakpoints 2 删除某个断点
disable/enable breakpoints 3 禁用/启用某个断点
delete breakpoints 删除断点 delete 3,删除 3 号断点
clear 清除所有断点
break 9 if sum != 0 满足条件才激活断点
run/r 重新从程序开头连续执行
watch input[4] 设置观察点
info/i watchpoints 查看设置的观察点
x/7b input 打印存储器内容,b--每个字节一组,7--7 组
disassemble 反汇编当前函数或指定函数
si 一条指令一条指令调试 而 s 是一行一行代码
info registers 显示所有寄存器的当前值
x/20 $esp 查看内存中开始的 20 个数
info inferiors 查看进程信息
info threads 查看线程
thread n 切换线程(n 代表第几个线程)
编辑 (opens new window)
上次更新: 2023/02/24, 10:34:03
io

← io

最近更新
01
mongodb restore
03-06
02
pytesseract
02-28
03
consul
02-24
更多文章>
Theme by Vdoing | Copyright © 2022-2025 子嘉 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式