"out of memory" on perl debugger
Linux 上で Perl-5.8.3 を使っていますが,最近,日本語を含むスクリプトを
Emacs 上からデバッガを利用してデバッグしようとすると,
Out of memory!
というメッセージが出力されて,デバッグできないことが頻発して困っていま
す.例えば,手元では,以下のスクリプトをデバッグしようとすると発生しま
す.
use encoding "euc-jp";
use Encode;
print "こんにちわ";
なお,この現象は emacs 上からデバッガを呼び出した場合に限って発生し,
コマンドライン上から呼び出した場合には発生しません.具体的には,
% perl -d sample.perl
とした場合は正常に実行できるが,
% perl -d sample.perl -emacs
とした場合には Out of memory! のエラーが出ます.
強引に $rl=1 にした perl5db.pl を用意して,-emacs オプションが指定され
ている場合でも Term::ReadLine::Stub ではなく,Term::ReadLine を使うよ
うにすると,エラーが発生しなくなったので,Term 周りの初期化が関係して
いるようです.
ただし,このように改造した perl5db.pl を使った場合でも,デバッグ実行中
に「Out of memory!」となることがあるので,Term 周りだけが問題ではない
ようです.
全てを Unicode だけで暮すのは,既存の外部プログラムやデータとの入出力
を考えるとちょっと無理があるので,なんとか use encoding "euc-jp" でし
のぎたいのですが,どうにかならないものでしょうか?
--
土屋 雅稔 ( TSUCHIYA Masatoshi )
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735