C++ 内存写坏排查
1、现象
程序出现core的位置不确定,但是查看core总会出现如下堆栈信息。
#0 SLL_Next (t=0x9f1ba3000) at src/linked_list.h:44 #1 SLL_Pop (list=<optimized out>) at src/linked_list.h:58 #2 Pop (this=0x48abd08) at src/thread_cache.h:204 #3 Allocate (cl=1, size=<optimized out>, this=0x48abcc0) at src/thread_cache.h:344 #4 do_malloc (size=<optimized out>) at src/tcmalloc.cc:1068 #5 cpp_alloc (nothrow=false, size=size@entry=8) at src/tcmalloc.cc:1354 #6 tc_new (size=size@entry=8) at src/tcmalloc.cc:1530
2、工具
valgrind:
使用valgrind会存在一个问题:如果程序中使用tc_malloc会导致位置定位位置不准,因此是需要提剔除。
https://www.jianshu.com/p/9c732c91dc79
https://blog.csdn.net/wilson1068/article/details/87981072
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2020-09-08 C++11 智能指针
2020-09-08 xargs 命令使用