gpt4 book ai didi

c - 如何防止 gdb 在磁盘已满的机器上启动缓慢

转载 作者:行者123 更新时间:2023-11-30 16:47:01 24 4
gpt4 key购买 nike

在磁盘已满的 docker 容器中,gdb 启动需要一段时间。启动大型二进制文件和大型核心转储需要非常很长时间。

它发出诸如“错误:dbenv->open 中的 db5 错误(28):设备上没有剩余空间”之类的错误。 grep 互联网显示错误与 yum/rpm 相关。

我最初只想从核心转储中快速回溯。

如何阻止 gdb 执行它正在执行的任何初始化操作? (大概是加载共享/链接库的调试符号)。

请注意,当加载/速度缓慢时,Ctrl-C 不起作用。 Ctrl-Z(暂停)确实有效,因此如果命令花费的时间太长,您可以随时暂停并终止该命令。

[root@XXX]# gdb -c core.XXX bin/XXX
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-94.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from bin/XXX...
done.
[New LWP 19938]
[New LWP 20044]
.
.
error: db5 error(28) from dbenv->open: No space left on device
error: cannot open Packages index using db5 - No space left on device (28)
error: cannot open Packages database in
error: db5 error(28) from dbenv->open: No space left on device
error: cannot open Packages database in
error: db5 error(28) from dbenv->open: No space left on device
error: cannot open Packages database in
error: db5 error(28) from dbenv->open: No space left on device
error: cannot open Packages database in
error: db5 error(28) from dbenv->open: No space left on device
error: cannot open Packages database in
error: db5 error(28) from dbenv->open: No space left on device
error: cannot open Packages database in
Missing separate debuginfo for /lib64/libm.so.6
Try: yum --enablerepo='*debug*' install /usr/lib/debug/.build-id/72/1c7cc9488efa25f83b48af713ab27dbe48ef3e.debug
error: db5 error(28) from dbenv->open: No space left on device
error: cannot open Packages database in
.
.

可能相关,但是。 。 .
Tell gdb to skip standard files

最佳答案

这些错误并非来自 gdb 本身,而是来自 RPM 的某些库。一些发行版(例如 Fedora)会对 gdb 进行修补,以使其查找哪些库可能具有尚未安装的单独调试信息。

无法在已有的 gdb 中禁用此功能。但是,您可以构建自己的 gdb,但不应用此补丁。这将解决您所看到的问题。

关于c - 如何防止 gdb 在磁盘已满的机器上启动缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43519065/

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