$ ls -lt /proc/2406/rootlrwxrwxrwx 1 root root 0 Dec 12 20:39 /proc/2406/root -> / /proc/[pid]/stack /proc/[pid]/stack 示当前进程的内核调用栈信息,只有内核编译时打开了 CONFIG_STACKTRACE 编译选项,才会生成这个文件。举例如下: $ cat /proc/2406/stack[<ffffffff810fa996>] futex_wait_...
CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE设置为16000:该参数为记录内存泄露信息的内存池,越大记录信息越多。 CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF:Kmemleak默认开关状态 依赖的配置: CONFIG_DEBUG_KERNEL:打开内核调试功能 CONFIG_DEBUG_FS:需要借助到debugfs CONFIG_STACKTRACE:记录进程的堆栈信息 2.2 用户空间配置 我们要...
/proc/[pid]/stack /proc/[pid]/stack 示当前进程的内核调用栈信息,只有内核编译时打开了 CONFIG_STACKTRACE 编译选项,才会生成这个文件。举例如下: $cat/proc/2406/stack[<ffffffff810fa996>]futex_wait_queue_me+0xc6/0x130[<ffffffff810fb05d>]futex_wait+0x17d/0x270[<ffffffff810fd2d5>]do_futex+0x...
注意:本文中slub和slab名称有些混用,目前linux版本中实际默认都是使用slub,由于内核代码复用的缘故,有很多的函数名,结构体等还是slab命名,是slub还是slab还是以内核config是打开的CONFIG_SLUB还是CONFIG_SLAB来区分,本文所有实验和分析都是基于CONFIG_SLUB=y; 二、SLUB_DEBUG配置及调试工具 2.1 内核中相关配置 CONFIG_S...
CONFIG_GENERIC_HARDIRQS=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_LOCKDEP_SUPPORT=y CONFIG_TRACE_IRQFLAGS_SUPPORT=y CONFIG_HARDIRQS_SW_RESEND=y CONFIG_GENERIC_IRQ_PROBE=y CONFIG_RWSEM_GENERIC_SPINLOCK=y # CONFIG_ARCH_HAS_ILOG2_U32 is not set # CONFIG_ARCH_HAS_ILOG2_U64 is not set CONFIG_...
/proc/[pid]/stack显示当前进程的内核调用栈信息,只有内核编译时打开了CONFIG_STACKTRACE编译选项,才会生成这个文件 代码语言:javascript 复制 >cat/proc/1751/stack[<ffffffffa4112496>]futex_wait_queue_me+0xc6/0x130[<ffffffffa411323b>]futex_wait+0x17b/0x280[<ffffffffa4114fa6>]do_futex+0x106/0x5a0...
从上面的框架中可以看出,影响内核构建过程动作的有数个变量,分别是:KBUILD_SRC, KBUILD_OUTPUT, skip-makefile, mixed-targets, config-targets 和 dot-config。我们将它们分成两组,前三为一组,后三个为一组。显然,前一组影响着框架中最外面的两个ifeq-endif块,而后一组则决定了第二个ifeq-endif块内的逻辑。
CONFIG_SYS_SUPPORTS_APM_EMULATION=y CONFIG_GENERIC_GPIO=y # CONFIG_GENERIC_TIME is not set # CONFIG_GENERIC_CLOCKEVENTS is not set CONFIG_MMU=y CONFIG_NO_IOPORT=y CONFIG_GENERIC_HARDIRQS=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_LOCKDEP_SUPPORT=y ...
这是通过堆栈跟踪器启用的。CONFIG_STACK_TRACER 启用 ftrace 堆栈跟踪功能。要启用它,请将“1”写入 /proc/sys/kernel/stack_tracer_enabled。 # echo 1 > /proc/sys/kernel/stack_tracer_enabled 您还可以通过在内核命令行参数中添加“stacktrace”,从内核命令行启用它以在启动期间跟踪内核的堆栈大小。运行几...
CONFIG_STACKTRACE_SUPPORT=y CONFIG_LOCKDEP_SUPPORT=y CONFIG_TRACE_IRQFLAGS_SUPPORT=y CONFIG_HARDIRQS_SW_RESEND=y CONFIG_GENERIC_IRQ_PROBE=y CONFIG_RWSEM_GENERIC_SPINLOCK=y # CONFIG_ARCH_HAS_ILOG2_U32 is not set # CONFIG_ARCH_HAS_ILOG2_U64 is not set ...