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

 

posted @   小海哥哥de  阅读(497)  评论(0编辑  收藏  举报
编辑推荐:
· 基于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 命令使用
点击右上角即可分享
微信分享提示