Linux内核页面错误堆栈回溯

时间:2016-09-21 13:18:02

标签: linux-kernel gdb linux-device-driver

我正在使用GDB硬件调试器来调试Linux内核驱动程序。有时,会出现页面错误异常 我用GDB连接到处理器并尝试回溯。 GDB仅在页面错误异常后打印函数调用,然后打印:

  

Backtrace已停止:框架未保存PC

如何在异常之前回溯函数的堆栈?

1 个答案:

答案 0 :(得分:0)

我想说....大多数时候我遇到页面错误+递归内核堆栈跟踪,很可能是堆栈溢出问题。

我从irq_exit()中发现,它试图获取curret_task_id并且由于堆栈溢出而导致任务结构被破坏。所以,转储初始崩溃转储但是backtrace()也依赖于当前的任务结构,并且不断触及page_fault或者某种无意义的回溯......

启用动态