最小化记忆:gdb调试命令和vim快捷键

本文介绍GDB调试命令的应用方法,包括程序编译、断点设置、单步执行等关键步骤,并覆盖VIM编辑器的基础及高级操作技巧,帮助读者提高代码调试和编辑效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、GDB调试命令

编译程序时需要加上-g,之后才能用gdb进行调试:gcc -g main.c -o main

打开gdb调试:gdb main

ctrl+c:退出输入


(gdb)help查看命令帮助,具体命令查询在gdb中输入help + 命令,简写h

 

 (gdb) 回车键重复上一命令


(gdb)start单步执行,运行程序,停在第一执行语句

(gdb)run重新开始运行文件(run-text:加载文本文件,run-bin:加载二进制文件),简写r

(gdb)start/run argv[1] argv[2]调试时命令行传参

(gdb)list n查看源代码第n行上下文共10行的代码(list-n,从第n行开始查看代码。list+ 函数名:查看具体函数),简写l

(gdb)next单步调试(逐过程,函数直接执行),简写n

(gdb)step单步调试(逐语句:跳入自定义函数内部执行),简写s

(gdb)continue继续运行,简写c

(gdb)quit退出gdb,简写q



(gdb)break n 在第n行设置断点,简写b

(gdb)info break/breakpoints查看当前设置的所有断点、观察点

(gdb)delete breakpoints num删除编号为num的断点,简写d

 (gdb) clear 行号:     删除设在某一行的断点

(gdb)enable breakpoints启用断点

(gdb)disable breakpoints禁用断点


(gdb)watch x 被设置观察点的变量x发生修改时,打印显示

(gdb)info watch显示观察点

(gdb)print a打印变量a值及地址,简写p

(gdb)info locals: 显示所有局部变量的值

(gdb)display追踪查看具体变量值

(gdb)undisplay取消追踪观察变量



(gdb)frame切换函数的栈帧,当前运行位置,简写f

(gdb)finish结束当前函数,返回到函数调用点

(gdb)backtrace查看函数的调用的栈帧和层级关系,简写bt



(gdb)x查看内存,如 x/3cb str //打印3个,字符格式,1个字节,的单元

(gdb)set设置变量的值,如:set print elements N //指定打印的长度,对长字符串特别有用

(gdb)set follow-fork-mode child#Makefile项目管理选择跟踪父子进程(fork())

   core文件:先用$ ulimit -c 1024 开启core,当程序出错会自动生成core文件。调试时 gdb a.out core


二、VIM快捷键

(1)按"Esc"命令模式:

回到第一行:gg
回到视窗第一行:H
回到视窗中间:M

到最后一行:G

(2)按"v"是视图模式:

回到行首: ^
到达行尾: $
从当前位置选择: h左、 j下、 k上、 l

选择后复制: y
选择后剪切: d
选择后修改: c

选择后粘贴:p

(3)命令模式按" :"到末行模式:
保存: w
退出: q

取消高亮:noh

(4)命令模式按" /"到搜索模式:
查找: 字符+回车
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值