问题标签 [panic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 内核的 panic() 函数会完全冻结所有其他进程吗?
我想确认内核的panic()
功能和其他功能一样kernel_halt()
,machine_halt()
一旦触发,保证机器完全冻结。
那么,所有内核和用户进程都被冻结了吗?是否panic()
可以被调度程序中断?中断处理程序仍然可以执行吗?
用例:如果出现严重错误,我需要确保硬件看门狗重置机器。为此,我需要确保没有其他线程/进程使看门狗保持活动状态。我需要触发系统完全停止。目前,在我的内核模块中,我只是调用panic()
来冻结所有内容。
另外,用户空间halt
命令可以保证冻结系统吗?
谢谢。
编辑:根据: http: //linux.die.net/man/2/reboot,我认为最好的方法是使用reboot(LINUX_REBOOT_CMD_HALT)
:“控制权交给 ROM 监视器,如果有的话”
c - 如何阅读、理解、分析和调试 Linux 内核恐慌?
考虑以下 Linux 内核转储堆栈跟踪;例如,您可以通过调用从内核源代码触发恐慌panic("debugging a Linux kernel panic");
:
- 代表
unwind_backtrace+0x0/0xf8
什么+0x0/0xf8
? - 我怎样才能看到 C 代码
unwind_backtrace+0x0/0xf8
? - 如何解读恐慌的内容?
xcode4.5 - 我如何理解 iPhone 4s 中的恐慌 plist?
我有问题 - 我的 iPhone 4S(ECID 387220092299 SN DNPH9H44DTD1 软件版本 10A523)每次重新启动。它可以关闭几个小时,我只能通过同时按住主页和锁定按钮来打开它。我在我的 Mac 上安装了 xcode 4.5,可以阅读恐慌列表或错误日志,但什么也不懂。
有没有人可以帮助我或说我应该问谁?
这是一个panic.plist的一部分:
这只是一个日志文件。也许我的设备让我感到紧张并没有什么原因。我可以展示其他。请帮帮我。
android - (未详细)创建 Android 虚拟设备 (AVD) 时出现恐慌
编程新手,刚刚开始使用所有这些......我已经搜索过,但我没有找到任何与我的问题相关的内容
所以就在这里,所以我正在尝试为 android 构建一个简单的 hello world 应用程序,但我想测试运行 AVD 只是为了检查一下。但我遇到了这个问题:(
它只显示“恐慌:无法创建 AVD”,没有更多信息)
我曾尝试创建基于 4.2 和 2.3.3 的虚拟设备,但这些都没有启动。我已经启动并运行了sdk,没问题。
我也有所需的所有文件(如系统映像等) Eclipse 64 位也运行良好(有一些错误,但使用搜索解决了它们)
有什么帮助吗?我运行 Windows 7 64 位、500gb 硬盘、4gb 内存、i3@2.4ghz SDK、Java、Eclipse 和所有其他工具都是基于 64 位的。
请帮忙。
java - PANIC:无法打开:¨8W
首先让我说我已经查看了 stackoverflow 上的解决方案,但没有找到一个有效的解决方案。这些包括:
- 链接文件夹(但这对我来说是荒谬的)
- 为计算机和 Eclipse 创建环境(系统)变量。
仍然当我在 Eclipse 上运行 Android 虚拟设备管理器并启动 AVD 时,我得到:
AVD 'AVD_for_4_65in_720p_Galaxy_Nexus' 的启动模拟器
PANIC:无法打开:¨8W
我试过其他设备还是不行。我有两个硬盘,但 AVDM 说正确的路径是 D:\Users\User.android\avd
有人有解决方案吗?
非常感谢。
PS:它说 AVD 是“有效的 Android 虚拟设备”。
c++ - 缺少分号的 Bison C++ 多错误恢复
我正在开发自己的编译器,但在 java 语法的恐慌模式下的错误恢复设计存在问题。
我想过多种解决方案,但真正的问题是:
我怎么能用 bison c++ 做到这一点?
我这样做了:
包 2
导入java.lang.*;
错误必须消耗到第一个分号,并且使用规则正确运行
package_rule: 包错误 ';'
但是如果我写了这段代码:
包 2
导入 java.lang.*
类 y { void 方法() { int m }
}
我需要像标准编译器这样的解析器来报告错误:
包装行应有标识符。失踪 ';' 在导入指令行报告一个包。发短信';' 在 int m 线。
我的意思是我需要在包错误之后使用令牌直到第一个分号或在声明它们之前在最后一行找到类或接口声明时停止!并报告行后发现的任何其他错误:
int m // 缺少 ';'
请帮助我,在我看来有多种解决方案,但是如何使用 bison c++ for java 语法呢?
android - Eclipse AVD 不起作用
不幸的是,我未能启动 AVD。在你看到的两张图片中;
1. 我的设置
2. 启动后的第二个(也是最后一个)屏幕。
谁能帮帮我吗?:D
linux-kernel - 这些 Linux Kernel Oops 字段是什么意思?
我在开发人员的生活中已经遇到过一些 Oops,虽然我熟悉可以从这些 Oops 中检索到的一些信息,但仍有一些我无法理解的信息,因此无法用于解决问题。
您将在下面找到一个糟糕的示例,我将描述我可以从中推断出的内容。然后,我会问剩下的信息可以教给我什么关于这个问题的信息。
内核似乎想要访问错误的页面。现在,
- 糟糕的代码 0002 告诉我它是在尝试以用户模式读取内容时发生的。
- 指令指针位于
ubi_change_vtbl_record
,这意味着违规指令位于此函数中。 - 我可以从调用跟踪中推断出导致故障函数的路径(从 process 启动的 ioctl
ubimkvol
)
从那里,“堆栈”是任务原始堆栈的转储吗?我可以看到提到的一些值也是调用跟踪中的函数地址。然后,我得到了花哨的值,例如EAX
, EBX
... DR7
。我认为它们是 CPU 寄存器,但我仍然不知道它们到底是什么。
最后,下面这行让我迷失了:
什么是 pdpt、pde 和 pte ?我觉得它们是关于页面错误的信息,但在谷歌搜索后我无法检索到更多信息。
macos - 静态变量导致 OSX 网络 kext 崩溃
在 mac OS X 网络内核扩展中,我注意到如果我有一个静态分配的缓冲区而不是动态的缓冲区,这会在调用诸如 printf() 或 send()、ctl_enqueuedata() 等 API 函数时导致内核恐慌,如以及其他许多人。就好像无法从我的代码外部读取或写入静态分配的缓冲区。
例如:
这是为什么?
编辑:我正要发布代码,但它很长,并且有效的版本和导致恐慌的版本之间的唯一区别如上所述。我想到的是静态变量和使用 OSMalloc 分配的变量之间的内存位置差异。ctl_enqueuedata() 中的代码可以同时访问两者吗?
这是发生的事情: