2012-04-27 14 views
6

में कमांड इतिहास सहेजें सत्र में पीडीबी (पायथन डीबगर) कमांड इतिहास सहेजने का कोई तरीका है? साथ ही, क्या मैं इतिहास की लंबाई निर्दिष्ट कर सकता हूं?पीडीबी

यह How can I make gdb save the command history? प्रश्न के समान है, हालांकि जीडीबी के बजाय पीडीबी के लिए।

-कई धन्यवाद

+0

कौन सा मंच आप प्रयोग करते हैं? – Keith

+0

उबंटू 11.04 पायथन 2.7.1+ (आर 271: 86832, अप्रैल 11 2011, 18:13:53) [जीसीसी 4.5.2] linux2 – vkontori

+0

पर क्या आपने इस समस्या को हल किया? मैं भी इसी तरह की सुविधा लेना चाहता हूं। – Phani

उत्तर

-1

मुझे लगता है कि आप IPython के साथ ऐसा कर सकते हैं: pdb के लिए

http://ipython.org/ipython-doc/stable/interactive/tutorial.html#history

ipdb प्रतिस्थापन:

http://pypi.python.org/pypi/ipdb

+1

क्या आप वाकई ipdb के साथ किया जा सकता है? मैं अपने पुराने आईपीडीबी सत्रों से अपना इतिहास प्राप्त नहीं कर पाया। – Phani

+1

यह गलत है, आईपीडीबी इतिहास का समर्थन नहीं करता है। –

+0

आईपीडीबी उसी जादू आदेशों का समर्थन नहीं करता है क्योंकि आईपीथन करता है। जब तक आप मुझे आईपीडीबी में '% जादू-आदेश 'इनपुट करने का कोई तरीका नहीं दिखा सकते हैं, तो डाउनवोट रहता है। –

1

मैं नहीं मानता है "स्टॉक" पीडीबी के साथ एक रास्ता। लेकिन मैंने एक प्रतिस्थापन डीबगर लिखा जो ऐसा करता है।

बस स्रोत से पायकोपिया स्थापित करें: http://code.google.com/p/pycopia/source/checkout और यह pycopia.debugger में है।

5

एनबी: यह केवल अजगर के साथ 2.

क्रेडिट परीक्षण किया जाता है

.pdbrc

# NB: This file only works with single-line statements 
import os 
execfile(os.path.expanduser("~/.pdbrc.py")) 

: https://wiki.python.org/moin/PdbRcIdea

pdb ReadLine का उपयोग करता है तो हम इतिहास को बचाने के लिए ReadLine निर्देश दे सकते हैं .pdbrc.py

def _pdbrc_init(): 
    # Save history across sessions 
    import readline 
    histfile = ".pdb-pyhist" 
    try: 
     readline.read_history_file(histfile) 
    except IOError: 
     pass 
    import atexit 
    atexit.register(readline.write_history_file, histfile) 
    readline.set_history_length(500) 

_pdbrc_init() 
del _pdbrc_init 
2

this पोस्ट देखें। पीडीबी में इतिहास को सहेजना संभव है। डिफ़ॉल्ट रूप से, पीडीबी एकाधिक लाइनें नहीं पढ़ता है। तो सभी कार्यों को एक लाइन पर होना चाहिए।

~/.pdbrc में:

import atexit 
import os 
import readline 

historyPath = os.path.expanduser("~/.pyhistory") 

def save_history(historyPath=historyPath): import readline; readline.write_history_file(historyPath) 

if os.path.exists(historyPath): readline.read_history_file(historyPath) 

atexit.register(save_history, historyPath=historyPath) 
संबंधित मुद्दे