【发布时间】:2020-11-07 18:23:53
【问题描述】:
在执行cd、ls、sudo reboot 和make 等基本命令时,有许多系统会出现分段错误。这不会一直发生,而且会出现断断续续的情况,物理重启会在一段时间内有所帮助。我们能够在执行sudo true 时导致分段错误。附加 gdb 并获取回溯产量:
Program received signal SIGSEGV, Segmentation fault.
0x00007f71c45a98a1 in sudo_sss_setdefs () from /usr/libexec/sudo/sudoers.so
(gdb) bt
#0 0x00007f71c45a98a1 in sudo_sss_setdefs () from /usr/libexec/sudo/sudoers.so
#1 0x00007f71c45a1ca4 in sudoers_policy_init () from /usr/libexec/sudo/sudoers.so
#2 0x00007f71c459bb37 in sudoers_policy_open () from /usr/libexec/sudo/sudoers.so
#3 0x000055f13bdbd55b in main ()
我的问题是如何将调试符号加载到 gdb 中?如果我记得,在 Windows 上,MS 会发布调试符号供开发人员使用。我不确定是否为 Linux 发行版发布了调试符号,并且可能与发行版相关。
第二个问题是,除了使用 gdb 之外,调试分段错误的最佳方法是什么?谢谢。
【问题讨论】:
标签: linux centos segmentation-fault gdb