2015-04-16 2 views
3

Я хочу использовать gdb для отладки python сценария. После запуска gdb, он выводит:Как установить python debug-info для gdb?

[[email protected] 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 команды, а выход:

[[email protected] 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 

PS: Есть два ня источник данные: RHEL 7.0 ISO и CentOS link:

[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 debug-info?

ответ

3

Я хочу использовать GDB для отладки питон скрипт

Я считаю, что отладочная информация для отладки интерпретатор Python сам, а не скрипты Python. Насколько я знаю, gdb не знает о скриптах Python. Если вы запустите gdb python, вы попросите gdb отладить интерпретатор python.

Для отладки скриптов Python вы можете использовать PDB (вместо GDB), который имеет некоторое сходство в своих командах ...

import pdb 

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

EDIT: Итак, вопрос был как установить отладочный-информацию для Python. Вы действительно хотите отлаживать сам Python?

Вот несколько мыслей: RHEL iso, вероятно, не является правильным источником информации -devel. Я не думаю, что у оригинальной iso будет информация, в которой вы нуждаетесь.

Я нашел -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.), Который говорит:

Этот пакет является устаревшим.

Там это версия отладочной информации о http://buildlogs.centos.org/c7.00.04/python/20140617165351/2.7.5-16.el7.x86_64/. Прошло много лет с тех пор, как я использую yum, но я считаю, что вы можете загрузить этот пакет вручную и запустить yum в загруженном пакете для его установки. Согласно сообщениям в вашем исходном вопросе, вам также необходимо установить debuginfo для glibc и python-libs (или, возможно, сначала). Что-то вроде: yum --nogpgcheck localinstall packagename.arch.rpm

+0

Да, вы правы. Я смутил 2 штуки, спасибо! –

+0

@NanXiao: Если ответ вам поможет, было бы хорошо, если бы вы приняли «ответ» (нажав «v»). Таким образом, люди могут легко найти ответ, и вопрос будет отмечен как «ответил». – jcoppens

+1

Точка этого вопроса должна быть «как установить информацию об отладке python», не могли бы вы мне помочь? –

Смежные вопросы