在ARM嵌入式系统上调试glibc

时间:2018-10-05 09:33:55

标签: c linux glibc

在ARM系统上运行Xorg时遇到问题。我不时在Xorg上收到SEGV。经过一番调查(跨gdb),我发现堆栈已损坏,因此无法看到正确的过程调用堆栈。从内核日志中,我获取了LR寄存器的值,结果表明该地址可以,并且属于glibc。因此,这意味着最后正确调用的过程在glibc中。目前,我正在尝试调试glibc,但这并不容易,因为printf()和puts()无法正常工作。

我修改了一个内核SEGV处理程序,现在我知道LR指向glibc中的char_buffer_add_slow()过程。从_IO_vscanf()过程中调用此过程。

是否有任何方法可以打印来自glibc的消息? 还有其他想法如何在ARM上调试glibc?

0 个答案:

没有答案