摘要: 从源码到进程:02.目标文件的生成 前言 在之前的文章中,我们初步讲解了从源码到进程这个主题的预处理部分,在这篇文章中,我们将讲解目标文件(.o)的生成过程。 通过了解 .o文件,可以帮助我们: 定位 undefined reference / multiple definition 等链接错误的根源 理解重定位失败与对齐问题导致的运 阅读全文
posted @ 2025-09-26 07:22 ToBrightmoon 阅读(164) 评论(0) 推荐(0)
摘要: 从源码到进程:01.程序的预处理 前言 在这个系列中,我们准备从 源码到进程 这个角度去分析,在 Linux 平台下,一个项目的文件,究竟是怎么一步步变成可执行文件,然后最终变成一个进程的。 开篇我们从最简单、大家最熟悉的一个阶段说起:预处理。 从编译四步走说起 一个广为认知的理论是: 预处理 → 编译 → 汇编 → 链接 这是 C 阅读全文
posted @ 2025-09-19 07:43 ToBrightmoon 阅读(25) 评论(0) 推荐(0)
摘要: coredump的那些事:04.多线程程序的调试 前言 在之前的文章中,我们依次讲解了 coredump的配置与生成 gdb使用coredump进行调试 DWARF调试信息的生成与使用 但是之前的程序都是简单的单线程程序,但是实际中我们面临的更多的是多线程下的崩溃问题,相比于单线程程序 多线程因为以下原因更加复杂: 程序在不同线程中同时执行 崩溃的 阅读全文
posted @ 2025-09-12 07:52 ToBrightmoon 阅读(62) 评论(0) 推荐(0)
摘要: coredump的那些事:03.调试信息的生成 前言 在之前的文章中,我们已经深入的的讲解了coredump文件的生成过程以及coredump的使用。我们也得到了一个核心的结论:调试程序的时候,只需要个三个关键的信息 可执行的程序 coredump文件 调试信息 针对其中的coredump的相关内容,我们已经进行了详细的讲解,这篇文章我们将详细的 阅读全文
posted @ 2025-09-11 08:14 ToBrightmoon 阅读(49) 评论(0) 推荐(0)
摘要: coredump的那些事:02.coredump的分析 前言 在上一篇文章中,我们讲解了 如何配置 Linux 系统,让程序在崩溃时生成 coredump 文件。 那么,生成了 coredump 之后,我们该如何使用它来定位问题? 在这一篇文章里,我们就来回答这个问题,在本文中你会了解到: gdb 调试器的基本使用 coredump 文件的二进制细节 为 阅读全文
posted @ 2025-09-11 08:09 ToBrightmoon 阅读(98) 评论(0) 推荐(0)
摘要: coredump的那些事:01.coredump的启动 前言 在使用c/c++进行程序开发,或者类型IL2CPP这种将Unity的应用编译成原生应用的时候,不管开发人员多么小心,不可避免的会出现的 段错误 导致的死机现象。当出现这种问题的时候, 一个最常用的手段就是利用coredump辅助日志文件进行问题分析,这篇文章就来讲一讲如何修改Linux中的一些 阅读全文
posted @ 2025-09-11 08:08 ToBrightmoon 阅读(71) 评论(0) 推荐(0)
摘要: grpc实践之路:06.rpc的大问题思考 前言 在之前的源码剖析文章中,我们深入了 gRPC 的一些具体实现。 但随着探索的深入,我时常感到一种“盲人摸象”式的困惑——我们触摸到了大象的腿、鼻子、耳朵,但大象的全貌究竟是怎样的?如果只是追逐源码的细枝末节,很容易迷失在复杂的调用链中。 我决定或一种方式,像笛卡尔在沉思中探求“我思故我在”那样 阅读全文
posted @ 2025-09-11 07:51 ToBrightmoon 阅读(29) 评论(0) 推荐(0)
摘要: grpc实践之路:05.服务端与客户端的连接 前言:探究 gRPC 的“黑盒” 在我们之前的实践中,我们已经能熟练地使用 gRPC 的 API。但每一次 stub->GetVersion() 的调用,背后都是一个被精心封装的复杂网络通信过程。 这引出了一个最根本的问题,也是本文将要探究的核心: 一次 RPC 调用,在技术上是如何保证这个网络请求 阅读全文
posted @ 2025-09-11 07:46 ToBrightmoon 阅读(40) 评论(0) 推荐(0)
摘要: grpc实践之路:04.grpc异步回调接口的使用 前言 在之前的文章中,我们实现的服务端模型都有一个共同的特点:它们是同步的。无论是 Unary RPC 还是流式 RPC,我们的服务端实现在 RPC 处理函数中都会阻塞,直到该次请求处理完成。这意味着,为了同时服务多个客户端,gRPC 的同步服务器不得不在其内部的线程池中为每一个并发请求分配一个线程 阅读全文
posted @ 2025-09-11 07:44 ToBrightmoon 阅读(88) 评论(0) 推荐(0)
摘要: grpc实践之路:03.Qt与grpc的集成使用 前言 在之前的文章中,我们从一个Qt应用的角度出发,探讨了怎么使用grpc作为进程间通信的手段,进行点对点的调用,并且讲解了怎么处理服务端产生的流数据。 但是,既然都没涉及到Qt相关的内容,本篇文章就讲解下在Qt中怎么去使用Grpc作为客户端的集成。 Qt作为一个主要应用在GUI中的应用框架,在其中 阅读全文
posted @ 2025-09-11 07:41 ToBrightmoon 阅读(83) 评论(0) 推荐(0)

© ToBrightmoon. All Rights Reserved.

Powered by Cnblogs & Designed with ❤️ by Gemini.

湘ICP备XXXXXXXX号-X