您的位置:首页 > 游戏 > 游戏 > 网站推广的内容_永康手工活外发加工网_seo营销培训_个人网站备案

网站推广的内容_永康手工活外发加工网_seo营销培训_个人网站备案

2025/7/17 17:39:29 来源:https://blog.csdn.net/Cha3043445754/article/details/148772830  浏览:    关键词:网站推广的内容_永康手工活外发加工网_seo营销培训_个人网站备案
网站推广的内容_永康手工活外发加工网_seo营销培训_个人网站备案

关于学习嵌入式来说,无疑是学的东西很多,记得东西很多,东西写在这里,主要让我自己能够重构问题,以及还有同行者的指点。

一、GDB 是什么?

在我们写程序的过程中,不可避免地会遇到程序崩溃变量异常逻辑错误这些情况。尤其对于社会工作者中从事技术辅助岗位的朋友或刚开始学习编程的小白来说,一段程序“运行错了但不知道哪里错”的时候,简直令人抓狂!

这时候,GDB(GNU Debugger) 就是你的“放大镜”和“侦探工具”!

GDB 是一个开源的调试器,可以帮助我们:

  • 逐步执行程序
  • 查看变量的值
  • 设置断点
  • 分析程序为何崩溃(如段错误)

通俗点说:GDB 可以“暂停”程序的运行,让你看到程序“脑子里在想什么”


二、GDB 能干什么?核心功能介绍

功能作用说明
设置断点在某一行或函数暂停程序运行
单步执行一行一行地执行,查找逻辑错误
查看变量值查看当前变量内容,是否符合预期
查看调用栈查清当前执行位置是怎么走到这里的
修改变量在调试时临时更改变量值,验证逻辑
分析崩溃信息程序崩溃后追踪是哪一行出错了

三、GDB 的基本使用步骤(以 C 语言为例)

1. 准备一段 C 程序(例子很简单)

#include<stdio.h>int main(){  int a = 10;int b = 0;int c = a / b; // 除以 0 会导致崩溃printf("Result is: %d\n", c);return0;}

2. 编译时加上 -g 选项(生成调试信息)

gcc -g test.c -o test

3. 启动 GDB 调试

gdb ./test

进入 GDB 后,会看到提示符:

(gdb)


四、常用命令举例(小白上手无压力)

命令说明
run运行程序
break 行号/函数名设置断点,如 break 5、break main
next执行下一行(不进入函数内部)
step进入函数内部逐步执行
print 变量名查看变量的值
backtrace(简写:bt)打印调用栈信息(程序崩溃时使用)
quit退出 GDB

使用演示:查看程序崩溃原因

(gdb) run

输出:

Program received signal SIGFPE, Arithmetic exception.

这说明程序发生了“浮点异常”,也就是除以 0。

接着输入:

(gdb) backtrace

得到如下信息:

#0 main () attest.c:6

表示问题出现在第 6 行。

继续查看变量:

(gdb) print a

你会立刻明白:int c = a / b; 中的 b == 0 是罪魁祸首!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com