C++ 创建 zip 压缩包遇到的内存问题分析 -

2023-10-20 09:46:42 +08:00
 xuelang

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

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

包含完整的:

  1. 问题复现
  2. 问题排查
  3. GDB 验证
    • 添加调试符号
    • 定位读内存位置
  4. 总结
2251 次点击
所在节点    C++
24 条回复
xuelang
2023-10-20 14:20:20 +08:00
@cnbatch 嗯,感谢推荐,文档清晰太重要了
cnbatch
2023-10-20 16:41:17 +08:00
maokabc
2023-10-22 22:12:28 +08:00
@xuelang 不咋的别用就行了,命名一坨屎,很多地方需要看源码才清楚,用它就是为了那个修改 zip 。
xuelang
2023-10-23 09:38:09 +08:00
@maokabc 我们也就简单用来创建一个 zip 包,其他地方也没怎么用过。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/983666

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX