专栏名称: 腾讯技术工程
腾讯技术工程事业群官方微信公众号。腾讯前沿科技技术、产品、行业信息交流发布平台。
今天看啥  ›  专栏  ›  腾讯技术工程

C++内存问题排查攻略

腾讯技术工程  · 公众号  ·  · 2024-08-13 18:00

文章预览

作者:johncchen C++因其高性能仍然是许多关键应用的首选语言,但其复杂的内存管理也带来了诸多挑战。虽然使用现代C++能够有效解决大部分问题,但掌握常用的内存问题排查方法仍然十分必要,特别是在维护一些历史系统时。本文分为上下两篇:上篇(1~5)按照问题分类介绍和比较常用工具,下篇(6~7)通过两个具体案例展示这些工具的组合使用,希望能为读者带来有益的启发。笔者个人水平有限,文中难免存在疏漏之处,欢迎大家批评指正。 1. 栈溢出(stack-overflow):查看coredump文件为主,动态检测为辅 栈溢出的定位方法主要有静态分析、动态检测、查看coredump文件三种。 1.1 静态分析 1.1.1 原理 GCC提供了-fstack-usage选项,能输出每个函数栈的最大使用量。开启后,为每个编译目标创建.su文件,每行包括函数名、字节数、修饰符(static/dynamic/bounded)中的 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览