【问题标题】:GDB on CentOS ignores gdbinit fileCentOS 上的 GDB 忽略 gdbinit 文件
【发布时间】:2014-02-14 10:00:38
【问题描述】:

当我在 GDB/CentOS 中运行程序时,我在控制台中看到以下消息:

warning: File "/usr/lib64/libstdc++.so.6.0.18-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".

我完全按照这个警告所说的去做。我用唯一的行add-auto-load-safe-path /usr/lib64/libstdc++.so.6.0.18-gdb.py 创建文件/home/user/.gdbinit。没有改变。即使重新启动后,我也会看到相同的错误消息。 有什么想法有什么问题吗?

【问题讨论】:

    标签: c++ c debugging gdb


    【解决方案1】:

    来自gdb docs

    set auto-load safe-path [directories]
    

    为自动加载和执行脚本设置受信任的目录(及其子目录)列表。

    这是指定目录,但你指定一个文件:

    add-auto-load-safe-path /usr/lib64/libstdc++.so.6.0.18-gdb.py
    

    你可能想这样做:

    add-auto-load-safe-path /usr/lib64/
    

    【讨论】:

    • 我更新了我的 .gdbinit 文件,但是没有任何改变。是否有可能以某种方式检查 GDB 是否读取此文件?
    • @VASoftOnline:如果您阅读过精美的手册(我已链接),您可能会偶然发现:show auto-load safe-path: Show the list of directories trusted for automatic loading and execution of scripts.
    • 嗯,你说得对,所以当我创建show auto-load safe-path 时,它会输出$debugdir:$datadir/auto-load:/usr/lib64/。所以它读取这个文件并在自动加载路径中有/usr/lib64。但是,如果一切正常,为什么它会显示警告?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多