问题标签 [kgdb]

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 投票
2 回答
9414 浏览

android - Android:使用 KGDB 进行内核调试

我正在尝试为我的 Nexus One 进行内核调试,并且一直遵循http://bootloader.wikidot.com/android:kgdb的说明。我想知道是否有人真的让这个工作?有没有人为使用 KGDB 调试内核做了更新的解决方案?

0 投票
2 回答
9135 浏览

android - 在 Android 平台上调试 Linux 内核代码

似乎这个主题没有一个很好的完整的一个地方文档。

这是没有任何解决方案的参考。任何人都可以贡献他的知识,了解如何在 linux 内核和 Android 平台中进行调试和跟踪。

一些链接

0 投票
1 回答
810 浏览

c - 如何检查 Kgdb 是否启用?

我有一个内核映像,想用 kgdb 进行调试。.config也不可用,否则我可以检查其中的标志。

/proc/sys/文件夹中也没有关于 kgdb 的条目。

有什么方法可以检查该图像是否启用了 kgdb?

0 投票
2 回答
478 浏览

debugging - 调试内核模块时kgdb找不到源代码

我想用 kgdb 调试内核模块,请执行以下操作:

gdb:添加符号文件/home/gaoqiang/kernel-32/fs/ext4/ext4.ko 0xffffffffa0122000 -s .bss 0xffffffffa016b380 -s .data 0xffffffffa0168400

gdb:中断 ext4_getattr gdb:c

我成功到达断点,但 gdb 告诉我:“[No Source Available]”那么如何让 gdb 找到模块的源代码?

0 投票
2 回答
3928 浏览

c - 如何在 ARM 上使用 kgdb?

ARMv7用作目标机器。我已经2.6.34.13为目标编译了 Linux 源代码。

Target 使用 minicom 通过串口与主机(Linux 开发机)连接。

Target加载了新内核,并在命令提示符下启用了 KGDB。

Entering KGDB... 显示消息并等待命令。

主机端

在此之后,默认情况下会进行一些命令通信。

  1. qSupported从主机发送到目标。但目标不支持 qSupoted,因此返回 $#00。同样?HC-1命令已发送但收到正确的响应。

  2. 但是qOffsets命令没有收到来自目标的任何响应。

我怀疑vmlinux。因为如果我提供listgdb,它不会显示 10 行代码,而是说

注意::内核编译在服务器中完成。所以开发机器中没有可用的源。但 arm-gdb 似乎在寻找 head.S。

我不确定我在做什么错误。我需要为整个内核加载符号。在这方面指导我。

0 投票
2 回答
9377 浏览

c - 通过串行端口将 GDB 连接到 KGDB 构建内核的问题


我想通过串行 ttyS0 从我的 64 位 suse 机器上调试 MIPS linux 驱动程序。使用的 gdb 在 LAN 上可以更好地用于调试应用程序,但不能通过串行方式使用 kgdb。我使用此页面和其他一些页面开始调试,但没有最终结果。

我的内核是使用以下设置编译的:

如果我运行 gdb:

我可以观察到以下输出:

输出(GDB_TERMINAL):

输出(远程目标):

没有更多的事情发生!!!

我也测试了 sysrq,但提到的 sysrq-option 'g' 似乎不适合!

sysrq 是否正常运行?
有什么我错过的吗?
有没有办法在我的远程设备上测试正在运行的 kgdb?

0 投票
0 回答
438 浏览

linux - 如何使用 Grub2 配置 kgdb?

我需要设置一个内核调试会话,以便我可以在 PCIe 硬件设备上查看和查看一些寄存器。我使用的是使用 Grub2 的 Ubuntu 12.04。根据我的 /boot/config-3.5.0-23-generic 文件,内核已经构建了 KGDB 支持,但显然没有支持 kgdb-over-ethernet。为此,我正在重建内核。

同时,我试图弄清楚如何修改我的 Grub2 配置文件以添加 KGDB 条目。我能找到的唯一教程都参考了传统的 Grub 风格的语法来做到这一点:

Grub2 的语法明显不同,因为“kernel”命令似乎已被“linux”取代,而且我还看到了许多其他差异。这让我对期望旧语法“正常工作”的希望渺茫。

我还没有找到任何在线使用 Grub2 配置 KGDB 的说明。这样做的正确方法是什么?有人可以提供使用 Grub2 语法的示例吗?

另外,由于我是 Linux 内核调试的新手,也许我什至没有以正确的方式解决这个问题。请让我知道我是否应该为此使用不同的方法,例如,如果其他人由于已知的以太网问题而使用串行调试,或者其他任何情况。

谢谢!

0 投票
1 回答
3448 浏览

kernel-module - sysrq-g 不会破坏内核

我正在尝试设置 linux 内核模块调试,使用两台机器 - 目标和主机。在目标机器上,我已经编译并安装了带有CONFIG_MAGIC_SYSRQ=y标志和其他标志的 3.5.0 内核,用于通过串行控制台调试。

当我想破坏内核以附加远程 gdb 时,我使用

但是上面的命令并没有破坏内核。

上面的命令返回 1,因此启用了魔法 sysrq 键。甚至“echo b > /proc/sysrq-trigger”也在工作并重新启动机器。谁能指出我可能遗漏了什么?

谢谢

0 投票
1 回答
561 浏览

linux - 内核如何通过sysrq -g进入kdb模式?

有人可以建议使用命令进入 kdb 模式时内核如何挂起 echo g > /proc/sysrq-trigger。kgdb 和 kdb 有何不同?

内核进入调试器模式时是否有任何进程在运行?

0 投票
2 回答
6445 浏览

android - 调试 Android 内核:在启动时将参数传递给 android 内核

我正在尝试使用http://bootloader.wikidot.com/android:kgdb让 kgdb 与 Android 内核一起工作。我被困在以下步骤:

有人可以告诉我它指的是哪个 BoardConfig.mk 吗?或者有没有其他方法可以在引导时将这些参数传递给内核?