linux - 在发生内核 panic 时,我可以打印出系统崩溃时持有哪些锁吗?

标签 linux linux-kernel kernel

我正在写一个作业(所以我压力很大,呵呵)并且我的项目有一个特定的地方取消引用 NULL。

详细信息是这样的:这是一个系统调用,它遍历该进程的页表条目并报告自上次调用以来访问过的内容。请不要对问题本身提出建议,因为我不想违反任何学术诚实规则。

然而,情况似乎是系统调用的执行被抢占,并且某些东西进入并破坏了我正在使用的结构。令人气愤的是我不明白是什么。

因此,我希望 panic 能够告诉我 panic 发生时正在持有什么自旋锁/信号量等。这会给我一个提示,让我知道到底发生了什么。

最佳答案

如果您在启用 CONFIG_LOCKDEP 的情况下构建内核,您应该能够使用 alt-sysrq-D 转储所有锁。请参阅drivers/tty/sysrq.c。

关于linux - 在发生内核 panic 时,我可以打印出系统崩溃时持有哪些锁吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4295729/

相关文章:

android - 设置设备进行开发(????????????没有权限)

linux-kernel - Yocto 内核模块路径

c - linux中时序计算的引用是什么

operating-system - FreeRTOS 初始上下文切换

c++ - 等一下

Linux 合并文件

json - MongoDB 配置文件格式

linux - 在linux下安装补丁

sockets - Linux 内核 IPv4 和 IPv6 套接字创建 : EPROTONOSUPPORT and ESOCKTNOSUPPORT errors

c - 实现内核的链表接口(interface)时出错