Linux kmemleak和kmemcheck之间有什么区别?如何在Android操作系统上启用这些工具?

Linux kmemleak和kmemcheck之间有什么区别?如何在Android操作系统上启用这些工具?,linux,memory-management,memory-leaks,linux-kernel,android-kernel,Linux,Memory Management,Memory Leaks,Linux Kernel,Android Kernel,相互之间是否有任何特殊用途/优势(kmemleak和kmemcheck)?我可以在Android操作系统(不是Linux操作系统)上启用这些工具吗?请指导我如何启用 参考: Kmemleak和Kmemcheck执行不同的任务,没有一个比另一个更好 一,。 Kmemleak检查某些内存块是否由内核分配但未释放(即,检查内核中的内存泄漏,因此得名)。性能开销通常是可以接受的 二,。 Kmemcheck检查某些内核代码是否访问未初始化的内存。示例:内核代码分配一个结构,不使用值填充它,然后从该结构中读

相互之间是否有任何特殊用途/优势(kmemleak和kmemcheck)?我可以在Android操作系统(不是Linux操作系统)上启用这些工具吗?请指导我如何启用

参考:

Kmemleak和Kmemcheck执行不同的任务,没有一个比另一个更好

一,。 Kmemleak检查某些内存块是否由内核分配但未释放(即,检查内核中的内存泄漏,因此得名)。性能开销通常是可以接受的

二,。 Kmemcheck检查某些内核代码是否访问未初始化的内存。示例:内核代码分配一个结构,不使用值填充它,然后从该结构中读取一些内容。Kmemcheck应该可以检测到这一点

顺便说一下,Kmemcheck不检查内存泄漏

Kmemcheck通常会降低系统速度,以至于无法使用图形环境。引导过程也可能变得非常缓慢(并且可能会失败)

三,。 如果我没有弄错的话,Kmemleak至少对x86和ARM有效。Kmemcheck仅适用于x86

四,。 不幸的是,我不能说如何在Android上启用Kmemleak,我只在桌面Linux系统上使用它

五,。
根据您试图实现的目标,可能会有更适合您需要的工具。例如,Linux内核具有多种调试功能,可以启用和内置这些功能。同样,我在这方面没有Android内核的经验。

Kmemleak和Kmemcheck执行不同的任务,没有一个比另一个更好

一,。 Kmemleak检查某些内存块是否由内核分配但未释放(即,检查内核中的内存泄漏,因此得名)。性能开销通常是可以接受的

二,。 Kmemcheck检查某些内核代码是否访问未初始化的内存。示例:内核代码分配一个结构,不使用值填充它,然后从该结构中读取一些内容。Kmemcheck应该可以检测到这一点

顺便说一下,Kmemcheck不检查内存泄漏

Kmemcheck通常会降低系统速度,以至于无法使用图形环境。引导过程也可能变得非常缓慢(并且可能会失败)

三,。 如果我没有弄错的话,Kmemleak至少对x86和ARM有效。Kmemcheck仅适用于x86

四,。 不幸的是,我不能说如何在Android上启用Kmemleak,我只在桌面Linux系统上使用它

五,。
根据您试图实现的目标,可能会有更适合您需要的工具。例如,Linux内核具有多种调试功能,可以启用和内置这些功能。同样,我在这方面没有Android内核的经验。

谢谢@Eugene。我已经在linux机器上启用了kmemleak,并在android机器上尝试了同样的功能。谢谢@Eugene。我已经在linux机器上启用了kmemleak,并尝试在android机器上实现同样的功能。