Domanda

Vorrei stampare l'output del comando python pdb 'l' sullo schermo dopo ogni comando che inserisco in una sessione di debug interattiva.

C'è un modo per configurare python python per farlo?

È stato utile?

Soluzione

Un modo per farlo è quello di alias i tuoi comandi preferiti per eseguire il comando e poi l.

per es.

(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

Nel tuo ~ / .pdbrc puoi aggiungere gli alias in modo da averli ogni volta:

<*>

Altri suggerimenti

';;' consentire di separare i comandi


[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)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top