gdb加载python_在gdb中加载python支持

当GDB在调试Python程序时缺少py-bt等命令,可能是因为对应的Python脚本未自动加载。通过启用自动加载调试,如`(gdb) set debug auto-load`,然后加载Python可执行文件,查看自动加载日志,可以发现加载失败的原因。可能是因为系统中缺少相应版本的GDB脚本,或者需要更新`auto-load scripts-directory`和`auto-load safe-path`的设置。确保`/usr/share/gdb/auto-load`路径包含在内,这是系统范围GDB脚本的默认位置。
摘要由CSDN通过智能技术生成

py-bt和相关命令通常在GDB脚本文件python * -gdb.py中定义,该文件往往存在于/usr/share / gdb / auto-load /usr/bin /中.如果在调试Python对象文件时GDB中没有这些命令,则表示包含它们的脚本未自动加载.

要找出原因,请启用自动加载调试:

(gdb) set debug auto-load

并尝试加载Python可执行文件:

(gdb) file python3

您应该看到与此类似的输出:

Reading symbols from python3...Reading symbols from /usr/lib/debug/.build-id/58/bce0c98a07039868053ed4b27e79959caadb9d.debug...done.

auto-load: Attempted file "/usr/lib/debug/.build-id/58/bce0c98a07039868053ed4b27e79959caadb9d.debug-gdb.gdb" does not exist.

auto-load: Expanded $-variables to "/usr/lib/debug:/usr/share/gdb/auto-load".

auto-load: Searching 'set auto-load scripts-directory' path "$debugdir:$datadir/auto-load".

auto-load: Attempted file "/usr/lib/debug/usr/lib/debug/.build-id/58/bce0c98a07039868053ed4b27e79959caadb9d.debug-gdb.gdb" does not exist.

auto-load:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值