嵌入式每日八股2.19
gdb调试基础指令
使用gdb之前,要求对文件进行编译时增加-g参数,加了这个参数过后生成的编译文件会大一些,这是因为增加了gdb调试内容
gdb调试工具: ---检查逻辑错误,不是语法错误(语法错误GCC检查)
基础指令:
-g:使用该参数编译可以执行文件,得到调试表。
gdb ./a.out
list: list 1 列出源码。根据源码指定行号设置断点。
b: b 20 【在20行位置设置断点。】
run/r: 运行程序
/next: 【下一条指令(会越过函数)】
s/step: 【下一条指令(会进入函数)】
p/print:p i 查看变量的值。
continue: 继续执行断点后续指令。
finish: 结束当前函数调用。
quit: 退出gdb当前调试。
delete 断点编号: 删除指定编号的断点。
clear 文件名:行号 清除某个文件中指定行号的断点。如果没有指定文件名,则清除所有文件中该行号的断点。
run: 使用run查找段错误出现位置。
set args: 设置main函数命令行参数 (在 start、run 之前)
run 字串1 字串2 ...: 设置main函数命令行参数
info b: 查看断点信息表
b 20 if i = 5: 设置条件断点。
ptype: 查看变量类型。
bt: 列出当前程序正存活着的栈帧。
frame: 根据栈帧编号,切换栈帧。
display: 设置跟踪变量
undisplay: 取消设置跟踪变量。 使用跟踪变量的编号。
【嵌入式八股】精华版(免费216问精华八股) https://www.nowcoder.com/creation/manager/columnDetail/0rOeJm
【嵌入式八股】一、语言篇https://www.nowcoder.com/creation/manager/columnDetail/mwQPeM
【嵌入式八股】二、计算机基础篇https://www.nowcoder.com/creation/manager/columnDetail/Mg5Lym
【嵌入式八股】三、硬件篇https://www.nowcoder.com/creation/manager/columnDetail/MRVDlM
【嵌入式八股】四、嵌入式Linux篇https://www.nowcoder.com/creation/manager/columnDetail/MQ2bb0