如何为gdb安装python调试信息?

2024-04-28 21:49:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用gdb调试python脚本。启动gdb后,它输出:

[root@localhost scripts]# gdb python
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-51.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 /usr/bin/python2.7...Reading symbols from /usr/bin/python2.7...(no debugging symbols found)..
.done.
(no debugging symbols found)...done.
Missing separate debuginfos, use: debuginfo-install python-2.7.5-16.el7.x86_64

根据它的提示,我执行debuginfo-install python-2.7.5-16.el7.x86_64命令,输出如下:

[root@localhost scripts]# debuginfo-install python-2.7.5-16.el7.x86_64
Loaded plugins: product-id
centos-extra                                                                               | 3.4 kB  00:00:00
rhel                                                                                       | 4.1 kB  00:00:00
centos-extra/primary_db                                                                    | 563 kB  00:00:00
Could not find debuginfo for main pkg: python-2.7.5-16.el7.x86_64
Could not find debuginfo pkg for dependency package glibc-2.17-55.el7.x86_64
Could not find debuginfo pkg for dependency package python-libs-2.7.5-16.el7.x86_64
No debuginfo packages available to install

备注:有2个yum数据源:RHEL7.0ISO和CentOS链接:

[rhel]
name=rhel 7.0
baseurl=file:///mnt/iso
enabled=1
gpgcheck=0


[centos-extra]
name=centos extra
baseurl=http://cbs.centos.org/repos/virt7-testing/x86_64/os/
enabled=1
gpgcheck=0

如何安装python调试信息?


Tags: installtoorggnuhttpforkbextra
2条回答

关于如何在各种操作系统上安装python debuginfo,有一些说明here

具体来说:

Fedora:

sudo yum install gdb python-debuginfo

乌班图:

sudo apt-get install gdb python2.7-dbg

Centos*:

sudo yum install yum-utils

sudo debuginfo-install glibc

sudo yum install gdb python-debuginfo

I want to use gdb to debug python script

我相信调试信息是为了调试Python解释器本身,而不是Python脚本。据我所知,gdb并不了解Python脚本。如果启动gdb python,则要求gdb调试python解释器。

要调试Python脚本,可以使用pdb(而不是gdb),它的命令有一些相似之处。。。

import pdb

....code...
pdb.set_trace()      # This introduces a breakpoint
... code...

编辑:所以问题是如何安装Python的调试信息。确定要调试Python本身吗?

这里有一些想法:RHEL iso可能不是正确的-devel信息源。我不认为原始的iso会有你需要的信息。

我在几个地方找到了原始python包的-debuginfo包,但是有一个警告(例如http://rpm.pbone.net/index.php3/stat/4/idpl/26126276/dir/redhat_7.x/com/python-debuginfo-2.7.5-16.el7.x86_64.rpm.html)说:

This package is obsolete.

http://buildlogs.centos.org/c7.00.04/python/20140617165351/2.7.5-16.el7.x86_64/上调试信息的一个版本。我已经很多年没有使用过百胜了,但是我相信你可以手动下载那个包,然后在下载的包上运行百胜来安装它。根据最初问题中的消息,您还必须安装glibc和python libs的debuginfo(或者可能先安装)。类似于:yum --nogpgcheck localinstall packagename.arch.rpm

相关问题 更多 >