2011-06-21 7 views
9

मैं lib libLine और lib Perl Readline के साथ थोड़ा सा काम करता हूं।क्या पर्ल डीबगर रीडलाइन इतिहास को फ़ाइल में सहेज सकता है?

फिर भी, पर्ल डीबगर सत्र कमांड लाइन इतिहास को सहेजने से इंकार कर देता है।

इस प्रकार, हर बार जब मैं डीबगर का आह्वान करता हूं तो मैं अपने पिछले इतिहास को खो देता हूं।

क्या कोई जानता है कि पर्ल डीबगर को कैसे सहेजना है, और उम्मीद है कि बैश HISTORYFILE के समान सत्र इतिहास संलग्न करें?

उत्तर

9

तरह से मैं यह मेरी ~/.perldb फ़ाइल में निम्न पंक्ति होने से है:

&parse_options("HistFile=$ENV{HOME}/.perldb.hist");

डीबगर आदेशों तो में जमा हो जाती ~/.perldb.hist और सत्रों में सुलभ।

1) ~/.perldb है, जो पहले अस्तित्व में नहीं था निर्मित:

6

.perldb, तो parse_options("TTY=/dev/stdin ReadLine=0"); जोड़ें:

rlwrap -H .perl_history perl -d ... 
+1

@bitbucket: मैं निर्मित ReadLine समर्थन काम कर रहा है कि मैं भी परेशान नहीं है अब और :) – ysth

+0

क्या करता है 'ReadLine = 0' यहाँ करने के' अगर झूठा, एक डमी हो रही अतीत में काफी समस्याओं लिया है रीडलाइन का उपयोग किया जाता है, इसलिए आप रीडलाइन अनुप्रयोगों को डीबग कर सकते हैं। ', इसका दस्तावेज़ मुझे ज्यादा समझ में नहीं आता है ... –

+0

उचित मॉड्यूल स्थापित होने पर भी डीबगर को रीडलाइन का उपयोग करने से रोकता है; उस मामले में उपयोगी जहां प्रोग्राम आप डिबगिंग कर रहे हैं, वह खुद को रीडलाइन का उपयोग करने का प्रयास करता है, जो कि संघर्ष करेगा (या इस मामले में, जहां आप बाहरी रीडलाइन का उपयोग कर रहे हैं) – ysth

1

मैं निम्नलिखित किया था।

2) मिरोड के उत्तर से &parse_options("HistFile=$ENV{HOME}/.perldb.hist"); जोड़ा गया।

3) export PERLDB_OPTS=HistFile=$HOME/.perldb.history से ~/.bashrc मेफिनेट के उत्तर से जोड़ा गया।

4) Ran source .bashrc

5) perl -d my program.pl चलाते थे और यह चेतावनी/त्रुटि

perldb: Must not source insecure rcfile /home/ics/.perldb. 
     You or the superuser must be the owner, and it must not 
     be writable by anyone but its owner. 

6) मैं मालिक rw chmod 700 ~/.perldb साथ ~/.perldb संरक्षित है, और त्रुटि दूर चला गया।

संबंधित मुद्दे