问题标签 [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.

0 投票
1 回答
494 浏览

android - Android Studio 模拟器恐慌找不到

我正在尝试为 Android Studio 运行模拟器并收到此错误。

恐慌:在 $ANDROID_AVD_HOME 和 $HOME/.android/avd 中找不到 Nexus_S_Main_activity_API_21.ini 文件

我怎样才能解决这个问题?请记住,我是一个完整的初学者,所以请尝试清楚地解释每个步骤。

0 投票
1 回答
1375 浏览

go - 如何检查Scanln是否在Golang中抛出错误

我是 Go 新手。我一直在寻找答案,我知道确实有一个我还没有找到。

为了更好地解释我的问题,这是我的代码:

这是我的结构:

如果我为输入 A 输入“123”,为输入 B 输入另一个“123”,我将得到“ Sum is: 246 ”的输出。但是如果我错误地输入'123j',它将不再起作用,因为 A 和 B 只接受 int(s)。

现在,如何从fmt.Scanln中捕捉恐慌或者有什么办法?提前致谢。

0 投票
2 回答
875 浏览

debugging - 如何找到 FreeBSD 内核恐慌的确切行号?

我正在 FreeBSD 内核上测试一个新的驱动程序。

对于有经验的开发人员来说,这可能是微不足道的,但我无法弄清楚这个问题的解决方案。

我有内核恐慌,当它恐慌时,我得到了恐慌的回溯。

回溯表明恐慌发生在 say foo_bar() + 0x94。如何提取不对应的行foo_bar() + 0x94

内核是用调试符号构建的。我试过 greppingnm kernel但它只包含调试符号。

我该怎么做才能找到确切的行号?

0 投票
1 回答
3198 浏览

http - Go - 运行时错误:无效的内存地址或 nil 指针取消引用

我正在尝试使用 Go 制作一个代理服务器,它将请求正文中的某些值更改为 API,但是当发送请求时,会发生以下恐慌并且请求失败:

这是脚本:

0 投票
1 回答
838 浏览

logging - 如何将内核恐慌保存到嵌入式设备中的文件

我正在开发一个嵌入式设备,在调试模式下,我使用 NFS 将我的应用程序挂载到设备,telnet 到设备,然后运行我的应用程序。设备的串口控制台不可用有时,内核致命的恐慌,但我不知道什么时候。网络已关闭,我无法远程登录到设备收到任何恐慌消息,我想将恐慌消息保存到文件并在下次启动后检查它,有人知道怎么做吗?谢谢!

有关设备操作系统的一些信息:linux 3.0.8 ram:64M spi:16M nand:256M

0 投票
1 回答
216 浏览

linux - 编译内核不使用 initrd

我正在使用用 asm 编写的自定义引导加载程序来引导 debian 8。但是引导加载程序不使用 initrd。为了启动系统,我需要编译一个内核,该内核将我的硬盘驱动器的驱动程序配置为“内置”。所以,我做了这个:

在我进入 linux-source 文件夹之后,我做了:

为了选择我想在我的内核中编译的内容。所以我选择了类似的东西:

  • ATA/ATAPI/MFM/RLL 支持
  • ...

但是我的自定义引导加载程序和 GRUB 有时会出现内核恐慌。有人可以帮我选择要在我的内核中编译的内容吗?

谢谢,亚历山大。

0 投票
1 回答
154 浏览

ruby-on-rails - Rails 服务器恐慌:重复 GET 请求

我正在做一些与编码无关的事情(并且在不同的 Safari 窗口中),当我突然看到生成一堆 GET 请求的日志时。开头是这样的:

然后第一个块再次重复 n 次,直到我停止服务器。唯一的异常如下:

ID:13 是我正在使用的 user_id。

任何线索这可能是什么?看起来很可疑。

0 投票
1 回答
1456 浏览

android - 使用内核模块写入内存会导致 Android 内核中出现内核 oops

我目前正在尝试调试库存的 android 内核,但遇到了一些需要帮助的问题。我有内核的源代码,但我不想重建内核并刷入手机,我只想对我手机中存在的股票内核进行调试。Kprobes 在股票内核中启用(我通过查看 /proc/kallsyms 中的符号列表确认了这一点)。

首先,我尝试通过编译自己的内核模块来操作内核内存。我可以通过将物理地址映射到虚拟地址,然后将其分配给指针来读取内存,如下所示:

但是当我尝试使用 this: 写入内存时my_ptr[0] = 0;,内核进入恐慌(oops)状态,然后重新启动手机。从 /proc/last_kmsg,我得到以下日志:

我认为这与我的内核模块有关,所以我继续使用内核中可用的 kprobes 函数(主要是 register_kprobe),如下所示:

当我用上面的代码插入内核模块时,同样的事情发生了,内核产生了一个恐慌(oops),然后它重新启动了手机。记录的 last_kmsg 与我上面提供的大致相同。

如果熟悉该领域的任何人可以帮助我解决上述问题,我将不胜感激。我想知道Android系统中是否有任何内存保护。在我以前的手机中,当 /dev/mem 仍然在内核中实现时,我可以根据需要通过驱动程序读取/写入内存。我试过 ioremap 但它只返回 NULL 指针。提前致谢!

编辑:抱歉上面的混淆,我以 0x12345678 为例,我从 /proc/kallsyms 获取地址,并将其转换为物理地址。例如,如果它是 0xc01c1d50,我需要从中减去 0xc0008000,并且由于内核本身的起始偏移量为 0x00008000,我将它添加到结果中,因此它将是 0x001C1D50。

这是我尝试使用 register_kprobe() 注册 kprobe 时的 /proc/last_kmsg 输出:

编辑 2:我尝试使用以下代码进行页面遍历并将 pte 设置为允许写入,但写入地址会导致内核死机并再次重新启动。

关于这个问题的任何见解?

0 投票
2 回答
809 浏览

rust - 将恐慌重定向到指定的缓冲区

有没有办法做到这一点?在终端图形库中,如果发生异常,异常会在显示之前被刷新掉,使用该库很难进行编程调试。

如果我要注释掉self.flush().unwrap();异常会打印,但是即使程序结束,终端也不会正确刷新屏幕并在终端上留下图形。

是否可以在程序开始时指定用于写入的自定义缓冲区恐慌?或者可能写一个hacky技巧来做到这一点?这样,在刷新之后,我们可以检查这个缓冲区内是否有任何东西,如果有,我们就知道发生了异常并可以将其打印出来。


运行一个故意因算术溢出而崩溃的程序,目前的输出只有 在此处输入图像描述

然而,通过注释掉self.flush().unwrap();,我们看到了实际的异常,但现在是一个非常丑陋的终端。此解决方案将不起作用,因为正确执行的程序仍需要刷新,因为不需要显示错误

在此处输入图像描述

0 投票
1 回答
10390 浏览

http - Go http panic serving

I got this panic:

Whit this code:

I cant fix it, I tried everything what I found in the stackoverflow. What is the problem? There is no error, and the panic said that the problem in t, err := template.ParseFiles("templates/index.gtpl")..

There is the template file: