gpt4 book ai didi

android - 如何使用 ddms 处理 C++ 代码中的内存泄漏

转载 作者:太空宇宙 更新时间:2023-11-03 12:09:34 24 4
gpt4 key购买 nike

如何使用android工具DDMS解决c++代码中的内存泄漏问题我试过,通过启用 NativeHeap 拍摄快照,但我不明白快照在说什么,符号没有解析,没有显示文件名和行号。

最佳答案

DDMS 中的 native 堆跟踪是不受支持的“隐身”功能。让它工作可能有点棘手。有一个 older discussion在可能有用的邮件列表上。

如果您正在接收数据并启动了用户界面,那么您已经完成了一半。 :-) DDMS 在您应该能够使用 ANDROID_SYMBOLS 环境变量覆盖的特定位置查找符号,并将地址转换为带有 addr2line 的行(它也必须能够找到)。

查找大泄漏的最简单方法是将 DDMS 配置为按库对分配进行排序。让应用程序运行一段时间,看看哪个库似乎增长最快。查看归因于该图书馆的分配,看看是否有很多来自同一个地方。查看堆栈跟踪,看看从那里进行许多长期分配是否有意义。不是很严格,但通常可以解决问题。

要更彻底地检查堆,您可以在设备上运行 valgrind,但第一次设置起来并不容易。

关于android - 如何使用 ddms 处理 C++ 代码中的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15386339/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com