Pregunta

Me gustaría que la salida del comando python pdb 'l' se imprima en la pantalla después de cada comando que ingrese en una sesión de depuración interactiva.

¿Hay alguna manera de configurar Python pdb para hacer esto?

¿Fue útil?

Solución

Una forma de hacer esto es crear un alias de tus comandos favoritos para ejecutar el comando y luego l.

por ejemplo

(Pdb) alias s step ;; l
(Pdb) s
> /usr/lib/python2.5/distutils/core.py(14)<module>()
-> from types import *
 9      # This module should be kept compatible with Python 2.1.
10      
11      __revision__ = "$Id: core.py 38672 2005-03-20 22:19:47Z fdrake 
alias s step ;; l
quot; 12 13 import sys, os 14 -> from types import * 15 16 from distutils.debug import DEBUG 17 from distutils.errors import * 18 from distutils.util import grok_environment_error 19

En tu ~ / .pdbrc puedes agregar los alias para tenerlos siempre:

<*>

Otros consejos

';;' permitir separar comandos


[crchemist@test tmp]$ python t.py
> /home/crchemist/tmp/t.py(7)()
-> a()
(Pdb) p a ;; l
function a at 0xb7e96df4
  2         b = 49 + 45
  3         v = 'fff'
  4         return v
  5
  6     import pdb; pdb.set_trace()
  7  -> a() [EOF]
(Pdb) s ;; l
--Call--
> /home/crchemist/tmp/t.py(1)a()
-> def a():
  1  -> def a():
  2         b = 49 + 45
  3         v = 'fff'
  4         return v
  5
  6     import pdb; pdb.set_trace()
  7     a() [EOF]
(Pdb) s ;; l
> /home/crchemist/tmp/t.py(2)a()
-> b = 49 + 45
  1     def a():
  2  ->     b = 49 + 45
  3         v = 'fff'
  4         return v
  5
  6     import pdb; pdb.set_trace()
  7     a() [EOF]
(Pdb)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top