gpt4 book ai didi

linux - 嵌入式系统堆一致性检查

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:41:05 24 4
gpt4 key购买 nike

我遇到这样的崩溃:

#0  0x2c58def0 in raise () from /lib/libpthread.so.0
#1 0x2d9b8958 in abort () from /lib/libc.so.0
#2 0x2d9b7e34 in __malloc_consolidate () from /lib/libc.so.0
#3 0x2d9b6dc8 in malloc () from /lib/libc.so.0

我猜这是一个堆损坏问题。 uclibc 没有 mcheck/mprobe。 Valgrind 似乎不支持 MIPS,我的应用程序(多线程)依赖于特定于硬件的驱动程序。对检查堆的一致性和检测损坏有什么建议吗?

最佳答案

我会 use a replacement malloc() (另请参阅 this answer )可以很容易地使其更加冗长。我并不是说您需要垃圾收集,但您似乎确实需要链接提供的额外日志记录工具。

如果是堆损坏,收集器也会阻塞它,并给你更多有意义的信息。它不应该太难使用,得到你需要的,然后停止使用(特别是如果你只是让它拦截 malloc())。

它不会像 Valgrind 那样将问题归零,但至少它是一个选项 :)

关于linux - 嵌入式系统堆一致性检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2872457/

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