深入理解基于 eBPF 的 C/C++ 内存泄漏分析

0 Comment

对于 C/C++ 程序员来说,内存泄露问题是一个老生常谈的问题。排查内存泄露的方法有很多,比如使用 valgrind、gdb、asan、tsan 等工具,但是这些工具都有各自的局限性,比如 valgrind 会使程序运行速度变慢,gdb 需要了解代码并且手动打断点,asan 和 tsan 需要重新编译程序。对于比较复杂,并且在运行中的服务来说,这些方法都不是很方便。

ebpf 分析拿到的内存泄露火焰图ebpf 分析拿到的内存泄露火焰图

好在有了 eBPF,我们可以使用它来分析内存泄露问题,不需要重新编译程序,对程序运行速度的影响也很小。eBPF 的强大有目共睹,不过 eBPF 也不是银弹,用来分析内存泄露也还是有很多问题需要解决,本文接下来就来探讨一下基于 eBPF 检测会遇到的常见问题。

阅读全文

ChatGPT 渗透力分析:搜索热度、需求图谱与人群特征

0 Comment

2023 年 ChatGPT 横空出世,仅仅半年多时间,ChatGPT 已经能很好理解和生成文本,能理解并生成精美的图像,能解读并编写代码,可以说为为各行各业带来了无限可能。从开始只在科技圈火热,到现在身边越来越多人开始对 ChatGPT 产生兴趣,我们离 AI 时代似乎不远了。

不过也有人对 ChatGPT 的火热持怀疑观点,认为 ChatGPT 只是一时的热点,不会对我们的生活产生太大的影响。那么 ChatGPT 到底有多火?它的渗透力有多大?本文将从搜索热度、应用场景、用户特征这三个方面来探讨 ChatGPT 的渗透力。

ChatGPT 的渗透力ChatGPT 的渗透力

阅读全文

C++ 内存问题排查:创建 Zip 压缩包,解压后内容错乱

0 Comment

在日常的 C++ 后台开发工作中,很少会动态生成 Zip 包,所以对 C++ 的 libzip 并不熟悉。最近刚好有个场景,需要将后台生成的一份数据压缩为一个 Zip 包以便下载。这里其实之前已经有生成 Zip 包的代码,只是需要在 Zip 包里面增加一个文件。本来是一个简单的需求,但是实现中遇到了一个诡异的问题,解压生成的 Zip 包里,里面文件开头部分有错乱

C++ 创建 Zip 压缩包乱码问题C++ 创建 Zip 压缩包乱码问题

阅读全文