Linux kernel linux内核的内存调试器
linux内核是否有内存调试器? 在基于android/linux arm的硬件上,我们遇到了“空指针解引用”内核OOP以及其他崩溃问题Linux kernel linux内核的内存调试器,linux-kernel,linux-device-driver,embedded-linux,Linux Kernel,Linux Device Driver,Embedded Linux,linux内核是否有内存调试器? 在基于android/linux arm的硬件上,我们遇到了“空指针解引用”内核OOP以及其他崩溃问题 感谢现代内核包含大量内置诊断工具(这些工具可在内核源代码配置工具的“内核黑客”子菜单中找到)。但是,在嵌入式目标上,还可以选择使用gdb和良好的jtag调试器,例如Abatron BDI系列(当然,这将允许进行最精确的诊断,包括中断相关问题的诊断) 在没有硬件调试器的情况下,以下选项可以非常方便地检测内存泄漏(不要忘记使用“使用调试信息编译内核”和“使用帧指针
感谢现代内核包含大量内置诊断工具(这些工具可在内核源代码配置工具的“内核黑客”子菜单中找到)。但是,在嵌入式目标上,还可以选择使用gdb和良好的jtag调试器,例如Abatron BDI系列(当然,这将允许进行最精确的诊断,包括中断相关问题的诊断) 在没有硬件调试器的情况下,以下选项可以非常方便地检测内存泄漏(不要忘记使用“使用调试信息编译内核”和“使用帧指针编译内核”集编译内核):
还有许多其他诊断选项,可用于更具体的问题类别。它们中的大多数都有合理的文档记录,包括内核配置工具片段以及源代码的文档/子目录中的单独文档(+各种在线出版物)。我实际上有用于arm板的JTAG调试器。如何处理JTAG的空指针问题?另外,我检查了kmemcheck,但它可能不适用于ARM arch。知道吗?根本不存在“空指针问题”。你得到的不是坏掉的软件就是坏掉的硬件(RAM定时问题,等等)。后者可以通过用户空间工具或硬件调试器进行诊断(加载/卸载大块数据,注意命中可能有问题的内存库)。前者将以通常的方式修复:打印输出、断点和隔离(从最小的内核配置开始,逐步添加特性)。