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/10/6 13:52:06 阅读更多 →
铂金代理一站式赋能|CATIA 生成式工程落地,数字化转型不用孤军奋战

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

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

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

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

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

2026/10/15 3:30:26 阅读更多 →

最新新闻

R语言实战:基于KNN聚类的时间序列预测方法解析

R语言实战:基于KNN聚类的时间序列预测方法解析

大概半年前接了一个实际需求:预测某工厂循环水系统的运行负荷,为调度提供短期参考。数据拿回来倒是简单,一天24个小时一个点,连续一个月。可问题在于精度——ARIMA、指数平滑这类传统模型遇到周期性叠加随机波动、偶尔再来点异常数…

2026/10/15 13:51:29 阅读更多 →
openrig 工作台搭建指南:Node.js、tmux 与 AI 编程助手配置

openrig 工作台搭建指南:Node.js、tmux 与 AI 编程助手配置

1. 从 openrig 这个名字说起:它到底想解决什么问题第一次看到openrig这个词,我下意识把它拆成了两半:open和rig。rig在工程语境里通常指“成套装置”或者“把一堆零件组装成能跑起来的东西”,比如矿机叫 mining rig,测…

2026/10/15 13:51:29 阅读更多 →
Flutter实战:OpenHarmony高效Base64编解码工具开发

Flutter实战:OpenHarmony高效Base64编解码工具开发

1. 项目背景与核心价值在OpenHarmony生态中开发Web应用时,Base64编码是数据处理环节的刚需功能。这个Flutter实战项目瞄准了一个具体痛点:开发者经常需要在调试接口、处理图片资源或加密数据时进行Base64编解码操作,但现有工具要么功能分散&a…

2026/10/15 13:51:29 阅读更多 →
基于STM32F103的智能机场驱鸟装置设计:传感器触发与声光驱赶实战

基于STM32F103的智能机场驱鸟装置设计:传感器触发与声光驱赶实战

简介:基于STM32F103的机场驱鸟装置是一套完整工程,适合嵌入式开发者、高校学生及机场安防技术人员,用于解决鸟类靠近跑道威胁飞行安全的问题。系统以STM32F103为核心,通过PWM信号驱动舵机旋转,带动超声波模块扫描并测距…

2026/10/15 13:51:29 阅读更多 →
Windows Server 2012 R2 IIS 离线安装包实战:内网部署与避坑指南

Windows Server 2012 R2 IIS 离线安装包实战:内网部署与避坑指南

简介:这份资源是面向IT运维人员与系统管理员的Windows Server 2012 R2 IIS离线安装包,用于在无外网或网络受限的服务器环境中添加、更新IIS角色与相关组件,解决内网部署Web服务时无法在线拉取源文件的问题。压缩包共1568个文件,约…

2026/10/15 13:51:29 阅读更多 →
威利普LED-ECS免安版V5.3配置指南:从解压到屏体显示

威利普LED-ECS免安版V5.3配置指南:从解压到屏体显示

简介:威利普LED-ECS编辑控制系统V5.3免安版面向LED图文控制卡用户,提供一站式显示内容编辑与播放控制方案,适合广告公司、企业及个人快速搭建和维护LED屏。免安装特性显著,解压后即可运行,节省部署时间且减少系统感染风…

2026/10/15 13:50:26 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →