2011-06-21 11 views
9

lib ReadLineとlib Perl Readlineで少し仕事をします。PerlデバッガはReadLineの履歴をファイルに保存できますか?

しかし、Perlデバッガはセッションコマンドライン履歴の保存を拒否します。

このように、私がデバッガを起動するたびに私は以前のすべての履歴を失います。

誰もがPerlデバッガーにbash HISTORYFILEと似たセッション履歴を保存し、うまくいけば、それを追加する方法を知っていますか?

答えて

9

を私はこれを行う方法は、私の~/.perldbファイルに次の行を持つことである。

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

デバッガコマンドが、その後に格納されています~/.perldb.histであり、セッション間でアクセス可能である。私は次のようでした

6

その後、.perldbするparse_options("TTY=/dev/stdin ReadLine=0");を追加します。

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

@bitbucket:私はこれまで、組み込みのreadlineサポートが働いていても、私がもう気にしないほどの問題を抱えていました:) – ysth

+0

'ReadLine = 0'は何をしますか?falseなら、ダミーReadLineが使用されているので、ReadLineアプリケーションをデバッグすることができます.'、そのドキュメントは私にはあまり意味がありません。 –

+0

は、適切なモジュールがインストールされていてもデバッガがreadlineを使用できないようにします。あなたがデバッグしているプログラムがreadlineを使用しようとした場合に便利です。これは競合します(この場合は外部のreadlineを使用しています) – ysth

2
$ export PERLDB_OPTS=HistFile=$HOME/.perldb.history 
1

1)は、以前に存在しなかった~/.perldbを作成しました。

2)mirodの答えから&parse_options("HistFile=$ENV{HOME}/.perldb.hist");が追加されました。

3)mephinetの答えから〜/ .bashrcにexport PERLDB_OPTS=HistFile=$HOME/.perldb.historyを追加しました。

4))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を保護し、エラーが去っていきました。

関連する問題