
c++之valgrind
文章平均质量分 90
youngzhiyong
这个作者很懒,什么都没留下…
展开
-
C++线程异常检测工具(Valrind之helgrind和DRD)
从日志中,也可以找到相应的锁的签名,看到其对应的关系和顺序。在平常工作生活中,可以借助检测结果,可以快速的发现,可能存在死锁风险问题。因此,通过查看每个锁占用的时间,根据自己的业务逻辑需要进行判定是否可以减小锁的范围,减小独占时间,提高并发性。只能检测某一个锁占用的时间,不能统计多处、多个锁的占用时间。一般程序退出时,都会解锁,但是在程序退出时,仍然持有锁,说明此处发生死锁了。此工具可支持检测:多线程接口使用问题、竞态问题、锁范围问题。首先将应用程序,编译多线程场景下的可执行程序,需要链接。原创 2024-09-18 00:37:56 · 678 阅读 · 0 评论 -
C++内存使用统计工具(Valgrind之massif)
如果读者使用的是Windows+WSL2的场景,那么就需要安装支持远程桌面和图形化界面的软件包。原因:vector容器,在存储数据时,内存空间不足,则需要申请当前内存的2倍空间,并将数据拷贝到新的内存空间中。应用程序运行一段时间后,内存确实在增长,使用valgrind的memcheck工具检测出来,确实没有出现。问题:从上述程序来看,存储了255个4字节的数据,占用空间约1KB的内存,为何占用了1.5KB的内存呢?结论:10240个4字节的元素,刚好为40KB的内存空间,与预期相符。原创 2023-08-27 16:29:04 · 3411 阅读 · 0 评论 -
C++内存泄漏检测工具(Valgrind之memcheck)
内存泄漏检测原创 2023-08-27 16:22:29 · 650 阅读 · 0 评论