【问题标题】:why does kgdb not show function symbols when debugging vmlinux?为什么调试vmlinux时kgdb不显示函数符号?
【发布时间】:2018-09-20 02:26:14
【问题描述】:

我已在启用以下内核选项的情况下编译了我的内核。应该够了。

CONFIG_KGDB=y
CONFIG_KGDB_SERIAL_CONSOLE=y
CONFIG_DEBUG_INFO=y

我想在内核空间下实现一个 tcp 套接字服务器。但是,当我调试内核时,gdb 似乎无法识别函数符号。显示问号。

#0  0xffffffffb92ef58a in ?? ()
#1  0xffffffffb92ef6dd in ?? ()
#2  0xffffb4a640c73c38 in ?? ()
#3  0xffff9b0c275587c0 in ?? ()
#4  0xffff9b0c5c9fbc00 in ?? ()
#5  0xffff9b0c7c3ec480 in ?? ()
#6  0xffffffffc063d000 in ?? ()
#7  0xffffffffc063b22e in myserver ()
    at /home/river/Desktop/kernel-sock/server.c:75
#8  0xffffffffc063b285 in server_init ()
    at /home/river/Desktop/kernel-sock/server.c:88
#9  0xffffffffb8e0218e in ?? ()
#10 0xffff9b0c7ffeb5c0 in ?? ()
#11 0x000000000000001f in ?? ()
#12 0x85ce74a569aec8a5 in ?? ()

当前内核版本为 4.9.82。

【问题讨论】:

    标签: linux debugging network-programming kernel kgdb


    【解决方案1】:

    我禁用了 CONFIG_DEBUG_RODATACONFIG_RANDOMIZE_BASECONFIG_RANDOMIZE_MEMORY 随机化内存部分的虚拟地址,包括物理内存映射、vmalloc 和 vemmap。 我认为内存地址随机化是关键。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-14
      • 2012-04-12
      • 2018-11-10
      • 2014-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-15
      相关资源
      最近更新 更多