gpt4 book ai didi

linux-kernel - 如何在 menuconfig 中找到 Linux 配置选项?

转载 作者:行者123 更新时间:2023-12-03 16:40:23 30 4
gpt4 key购买 nike

各种网页告诉我,要在 Linux 内核中获得完整真实的堆栈回溯,我需要设置 CONFIG_FRAME_POINTER=y在我的 .config 文件中。所以我运行 make menuconfig并尝试在其中找到它,但导航到哪里并不直观。我在网上搜索并找到很多说要启用它的页面,但没有页面告诉我要深入了解哪些菜单选项才能这样做。所以我想也许我可以运行 make config只需点击 [Enter] 一百万次以选择所有内容的当前配置选项,然后将整个命令窗口缓冲区内容复制粘贴到文本文件中并搜索(不区分大小写)“frame_pointer”或“frame pointer”,但仍然没运气;显然,我必须为某些子菜单选择“y”才能深入到它所在的位置。

如何在 config 或 menuconfig 中找到此类选项?是否在某处列出了选项配置层次结构?

更新:

我正在使用 Linux 内核 v2.6.30.4-uc0;这就是我通过 Lantronix XPort Pro SDK 获得的。

根据我得到的答案,我使用 /搜索选项(不知道我之前是怎么错过的),但我真的不能走得更远。当我搜索“FRAME_POINTER”时,我看到的是:

Symbol: ARCH_WANT_FRAME_POINTERS [=n]

Symbol: FRAME_POINTER [=n]
Prompt: Compile the kernel with frame pointers
Defined at lib/Kconfig.debug:620
Depends on: DEBUG_KERNEL && (CRIS || M68K || M68KNOMMU || FRV || UML || AVR32 || SUPERH || BLACKFIN || MN10300) || ARCH_WANT_FRAME_POINTERS
Location:
-> Kernel hacking
Selected by: LOCKDEP && DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT && !MIPS && !PPC && !ARM_UNWIND && !S390 || FAULT_INJECTION_STACKTRACE_FILTER && FAULT_INJECTION_

请注意,“选择者:”行比我看到的要长,即使我拉伸(stretch) make menuconfig 也是如此。窗口与整个屏幕一样宽,我找不到滚动文本以查看全部内容的选项。非常令人沮丧,因为大多数情况都是如此。顺便说一句,非常感谢任何认为适合在不留下有用评论的情况下投反对票的人。

所以我尝试使用上面的“搜索”信息导航到此选项,但仍然无处可寻!

当我去 Kernel hacking --->菜单中,没有启用堆栈帧的选项。如@ShantanuAde 的回答所示,也没有菜单选项“编译时检查和编译器选项”。我看到了这些选择:
------- Kernel hacking -------------------------
[ ] Show timing information on printks
[ ] Enable __deprecated logic
[ ] Enable __must_check logic
(1024) Warn for stack frames larger than (needs gcc 4.4)
[ ] Magic SysRq key
[ ] Enable unused/obsolete exported symbols
[ ] Debug Filesystem
[ ] Run 'make headers_check' when building vmlinux
[ ] Kernel debugging
[ ] Debug memory initialisation
[ ] Check for stalled CPUs delaying RCU grace periods
[ ] Sysctl checks
[ ] Sample kernel code --->
[ ] Full Symbolic/Source Debugging support
[ ] Use fast second timer for profiling
[ ] Compiled-in Kernel Boot Parameter
[ ] Suppress Kernel BUG Messages

我能想到的唯一可能让我更接近 CONFIG_FRAME_POINTER 的是“内核调试”,但是当我打开它时,我得到的唯一额外选项是:
[*] Kernel debugging
[ ] Debug shared IRQ handlers (NEW)
[*] Detect Soft Lockups (NEW)
[ ] Panic (Reboot) On Soft Lockups (NEW)
[*] Detect Hung Tasks (NEW)
[ ] Panic (Reboot) On Hung Tasks (NEW)
[*] Collect scheduler debugging info (NEW)
[ ] Collect scheduler statistics (NEW)
[ ] Collect kernel timers statistics (NEW)
[ ] Debug object operations (NEW)
[ ] Debug slab memory allocations (NEW)
[ ] Spinlock and rw-lock debugging: basic checks (NEW)
[ ] Mutex debugging: basic checks (NEW)
[ ] Spinlock debugging: sleep-inside-spinlock checking (NEW)
[ ] Locking API boot-time self-tests (NEW)
[ ] kobject debugging (NEW)
[ ] Verbose BUG() reporting (adds 70K) (NEW)
[ ] Compile the kernel with debug info (NEW)
[ ] Debug VM (NEW)
[ ] Debug the global anon/private NOMMU mapping region tree (NEW)
[ ] Debug filesystem writers count (NEW)

非常非常令人沮丧。当 SCSS 在没有留下任何有用信息的情况下投反对票时,这也无济于事。

最佳答案

make menuconfig工具 key /打开搜索对话框。在其中输入所需的选项,将显示有关该选项的信息。此信息包括选项树中的“路径”。

请注意,选项仅在其 Depends on 时才会出现在选项树中。表达满意;您可以通过附加 / 检查这些选项搜索。

某些选项永远不会显示在树中(对于此类选项,“位置”部分不存在),因此用户无法选择它们。通常,这些选项由编译内核的体系结构定义。

关于linux-kernel - 如何在 menuconfig 中找到 Linux 配置选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46574447/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com