Linux kernel Gdb没有捕获内核死机

Linux kernel Gdb没有捕获内核死机,linux-kernel,android-emulator,gdb,kernel,qemu,Linux Kernel,Android Emulator,Gdb,Kernel,Qemu,我有一个ARM Linux内核作为android仿真器的一部分运行,我正在做一些测试。我启动仿真器时没有GUI,只使用adb shell访问仿真器的内部内存 我在OSX机器上启动仿真器,如下所示:- $ emulator -verbose -debug init -show-kernel -kernel ./zImage -avd debug -no-boot-anim -no-skin -no-audio -no-window -qemu -gdb tcp::1234 $ arm-eabi-

我有一个ARM Linux内核作为android仿真器的一部分运行,我正在做一些测试。我启动仿真器时没有GUI,只使用adb shell访问仿真器的内部内存

我在OSX机器上启动仿真器,如下所示:-

$ emulator -verbose -debug init -show-kernel -kernel ./zImage -avd debug -no-boot-anim -no-skin -no-audio -no-window -qemu -gdb tcp::1234
$ arm-eabi-gdb ./vmlinux
(gdb) target remote :1234
我将gdb连接到仿真器,如下所示:-

$ emulator -verbose -debug init -show-kernel -kernel ./zImage -avd debug -no-boot-anim -no-skin -no-audio -no-window -qemu -gdb tcp::1234
$ arm-eabi-gdb ./vmlinux
(gdb) target remote :1234
我知道连接工作得很好,因为如果我早些时候连接调试器,我可以看到启动过程会暂停,直到我在gdb中按“c”。然而,当仿真器中出现内核死机时,我会在运行仿真器的终端上看到堆栈跟踪——然而,我没有看到gdb端的任何更改。当内核恐慌时,机器会停止,所以我假设gdb会显示一些相同的指示。为什么不发生这种情况

当我在emulator端按住Ctrl-C键停止QEMU时,我得到消息
emulator:donewithQEMU主循环。仿真器:用户配置未更改。
和gdb显示
远程连接已关闭


我在这里遗漏了什么?

在panic上设置一个断点并检查回溯是解决问题的可能方法