【发布时间】:2017-01-29 18:32:34
【问题描述】:
我正在使用 GDB 硬件调试器来调试 Linux 内核驱动程序。有时,会出现缺页异常。
我用 GDB 连接到处理器并尝试回溯。
GDB 只打印页面错误异常后的函数调用,然后打印:
回溯停止:框架没有保存 PC
如何回溯异常之前的函数堆栈?
【问题讨论】:
-
根据我的经验,当您不运行 gdb 时,内核通常会打印堆栈回溯,以响应(n 意外)内核页面错误。我的猜测是 gdb 无法成功导航到堆栈上的异常框架——这与普通的函数调用堆栈框架完全不同。你试过在没有调试器的情况下运行吗?
标签: linux-kernel gdb linux-device-driver