Linux学习:Day05 gdb调试内部命令
引入fgets函数函数原型char *fgets(char *str, int size, FILE *stream);参数char *str:字符数组存放读到的字符串int size最多读取size-1个字符留 1 位存结束符\0FILE *stream数据流。返回值读取成功返回str地址读到文件末尾 EOF / 读取失败返回NULL作用用于从文件流 / 标准输入读取一行字符串键盘和文件也是文件键盘文件stdin标准输入屏幕文件stdout标准输出stderr标准错误输出图片上代码在输入end时应当退出程序为什么输入end没有退出程序呢想要找到问题我们可以通过调试来查找问题。调试工具gbdtest.c只是文件不是程序test 放到磁盘上叫程序./test 运行起来进程这个是调试的东西gcc -o test test.c用gcc编译器编译 test.c 源代码生成名为 test的可执行程序。不可调试没有调试信息gcc -o test test.c -g生成开发调试版本用于 gdb 调试。编译的时候加上参数-g是为了包含调试信息调试命令l 显示代码 默认打印当前位置前后共 10 行源代码 l 行号 快速跳转到指定代码行查看上下文 l filename:行号 快速跳转到指定代码行查看上下文 b 行号 加断点b 函数名字 加断点info break 显示断点信息查看断点信息r 运行程序只会运行一次n 单步执行p 打印变量、表达式、地址c 继续执行不再单步执行s 进入函数finish 跳出函数q 退出程序bt 查看函数调用的栈函数补充内容主函数参数main(int argc, char* argv,char* envp[])argc 参数个数 argv参数内容 envp环境变量man 帮助手册查命令函数的说明文档1命令2系统调用3库函数printf()缓冲区图片中的程序结果是先睡眠3秒然后打印hello这是为什么呢printf不会立刻把内容打到屏幕上会把要打印的内容先放到缓冲区缓冲区满了才会打印。缓冲区什么时候打印到屏幕上呢满足以下三种情况1.缓冲区满了2.强制刷新\n 换行触发行缓冲刷新文字立刻打印fflush(stdout) 强制把缓冲区内容输出到屏幕3.程序要退出了 先刷缓冲区再退出程序exit()退出进程exit()会执行两步操作1先刷缓冲区2再调_exit()退出程序_exit()只退出程序不会刷缓冲区

相关新闻

Modelsim仿真中不定态(X)的根源分析与系统性排查指南

Modelsim仿真中不定态(X)的根源分析与系统性排查指南

1. 项目概述:从“红线”警报到稳定波形如果你正在用Modelsim做仿真,看到波形窗口里一片刺眼的红线,心里咯噔一下,那感觉我太懂了。这几乎是每个数字电路设计者,无论是学生还是工程师,在入门或日常工作中都会…

2026/11/14 21:00:15 阅读更多 →
铂金代理一站式赋能|CATIA 生成式工程落地,数字化转型不用孤军奋战

铂金代理一站式赋能|CATIA 生成式工程落地,数字化转型不用孤军奋战

很多企业在推进数字化升级时都会陷入两难:看好 CATIA 2026X 全链路智能设计能力,但缺少专业实施团队,软件采购后不会落地、功能用不透;自研实施团队成本高昂,自学操作周期漫长,AI 生成式工程、MBSE、虚拟孪…

2026/11/11 22:52:01 阅读更多 →
从“直接点”到“走程序”:以积分服务为例解析代码抽象与工程规范

从“直接点”到“走程序”:以积分服务为例解析代码抽象与工程规范

在实际开发中,我们经常面临一个选择:是直接调用一个函数或方法(“直接点”),还是通过一系列中间步骤、接口或框架规定的流程(“走程序”)来达成目标。这个选择看似简单,背后却涉及到…

2026/11/14 11:49:19 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/14 5:13:29 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/14 5:13:29 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/14 5:13:29 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/13 22:08:41 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/14 2:41:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/14 5:13:29 阅读更多 →

日新闻

周新闻

月新闻