Linux 内核页面错误堆栈回溯
Linux kernel page fault stack backtrace
我正在使用 GDB 硬件调试器来调试 Linux 内核驱动程序。有时,会出现缺页异常
我使用 GDB 连接到处理器并尝试回溯。
GDB 仅打印页面错误异常后函数的函数调用,然后打印:
Backtrace stopped: frame did not save the PC
如何回溯异常前函数的堆栈?
我想说....大多数时候我遇到页面错误+递归内核堆栈跟踪,很可能是堆栈溢出问题。
我从 irq_exit() 中发现,它试图获取 curret_task_id 并且任务结构因堆栈溢出而损坏。因此,转储初始故障转储但 backtrace() 也依赖于当前任务结构并不断命中 page_fault 或某种无意义的回溯......
启用动态
我正在使用 GDB 硬件调试器来调试 Linux 内核驱动程序。有时,会出现缺页异常
我使用 GDB 连接到处理器并尝试回溯。
GDB 仅打印页面错误异常后函数的函数调用,然后打印:
Backtrace stopped: frame did not save the PC
如何回溯异常前函数的堆栈?
我想说....大多数时候我遇到页面错误+递归内核堆栈跟踪,很可能是堆栈溢出问题。
我从 irq_exit() 中发现,它试图获取 curret_task_id 并且任务结构因堆栈溢出而损坏。因此,转储初始故障转储但 backtrace() 也依赖于当前任务结构并不断命中 page_fault 或某种无意义的回溯......
启用动态