Come mostrare l'output di 'l' in python pdb dopo ogni comando inserito
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?
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