如果内核编译期间设置了CONFIG_FRAME_POINTER 选项,那么就用帧指针寄存器来维护堆栈,从而就可以正确地执行堆栈回溯。如果没有设置CONFIG_FRAME_POINTER ,那么 bt 命令可能会产生错误的结果。 btp 命令将进程标识作为参数,并对这个特定进程进行堆栈回溯。 btc 命令对每个活动 CPU 上正在运行的进程执行堆栈回溯。它从第...
CONFIG_FRAME_POINTER 有可能被其他配置项自动选上。 1、首先,编译时打开complie with debug info选项,步则如下make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- menuconfig 进入Kernel hacking 选择Compile the kernel with debug info然后,保存,退出。接着 make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi...
CONFIG_FRAME_POINTER 有可能被其他配置项自动选上。 1、首先,编译时打开complie with debug info选项,步则如下make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- menuconfig 进入Kernel hacking 选择Compile the kernel with debug info然后,保存,退出。接着 make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi...
您还可以根据自己的偏好选择其它两个选项。选择“Compile the kernel with frame pointers”选项(如果有的话)则设置CONFIG_FRAME_POINTER标志。这将产生更好的堆栈回溯,因为帧指针寄存器被用作帧指针而不是通用寄存器。您还可以选择“KDB off by default”选项。这将设置CONFIG_KDB_OFF标志,并且在缺省情况下将关闭 KD...
CONFIG_DEBUG_INFO 这个选项使得内核在建立时包含完整的调试信息,如果你想使用 gdb 调试内核,你将需要这些信息。如果你打算使用 gdb,你还要激活 CONFIG FRAME POINTER。 CONFIG_MAGIC_SYSRQ 打开“SysRq 魔法(magic SysRq)” 按键。我们将在本章后面的“系统挂起”一节中讲述该按键。
项,这可以通过配置 CONFIG_FRAME_POINTER 来实现。查看内核目录下的配置文件.config, 确保CONFIG_FRAME_POINTER 已经被定义,如果没有,执行“make menuconfig”命令重 新配置内核。CONFIG_FRAME_POINTER 有可能被其他配置项自动选上。 18.3.3 使用Oops 信息调试内核的实例 ...
选择“Compile the kernel with frame pointers”选项(如果有的话)则设置CONFIG_FRAME_POINTER标志。这将产生更好的堆栈回溯,因为帧指针寄存器被用作帧指针而不是通用寄存器。您还可以选择“KDB off by default”选项。这将设置CONFIG_KDB_OFF标志,并且在缺省情况下将关闭 KDB。我们将在后面一节中对此进行详细介绍。
#ifdef CONFIG_CGROUPS /* Control Group info protected by css_set_lock: */ struct css_set __rcu *cgroups; /* cg_list protected by css_set_lock and tsk->alloc_lock: */ struct list_head cg_list;#endif...} cgroups、cg_list成员涉及到了css_set、cgroup_subsys_state、cgroup等几个关键...
CONFIG_FRAME_POINTER=y CONFIG_KGDB=y CONFIG_KGDB_SERIAL_CONSOLE=y CONFIG_KGDB_KDB=y CONFIG_DEBUG_INFO=y CONFIG_KDB_KEYBOARD=y #CONFIG_RANDOMIZE_BASEis not set 模块调试,可以打开如下选项: CONFIG_DEBUG_KERNEL CONFIG_DEBUG_SLAB CONFIG_DEBUG_PAGEALLOC ...
3.3 编译内核时包含 CONFIG_FRAME_POINTER=y 总结一下,要愉快的跟踪更完备的信息,就要在编译软件时打开符号表的支持(gcc -g),开启annotate的支持(gcc -ggdb),以及Stack trace的支持(gcc -fno-omit-frame-pointer)。 perf pre-defined event说明 Hardware [Cache] Events: ...