0

EPIC の Perl Debugger に奇妙な問題があります。使い始めたところ、期待通りに動作しました。ブレークポイントを設定し、プログラムをデバッグ モードで実行し、それをステップ実行します...その後、何かが変更されたに違いありませんが、何が変わったのかわかりません。さて、デバッガー、EPIC、または Eclipse が、誰なのかはわかりませんが、コンソール ウィンドウに大量の出力を送信します。これらの出力は、私のプログラムとは何の関係もありませんが、一見 EPIC または Perl デバッガーの内部とは関係ありません。これはこの出力からの小さな切り抜きです。これには無限の量があり、プログラムが出力したいものは失われます。

ここで何が問題なのですか?設定で変更できる設定が見つかりませんでした。何を検索すればよいかわかりません。EPIC ドキュメントで何も見つかりませんでした。

編集:私が覚えていることの1つは、「診断を使用する」を使用したことです。プロジェクトに属しているが、このデバッグ出力を生成しているプログラムによって実行または使用されていない別のプログラム内。それと何か関係があるのではないでしょうか?「スタック」して、後でデバッガーに記憶させることはできますか? ばかげているように聞こえるかもしれませんが、それだけです。

  DB<396> ;{    
do 'dumpvar_epic.pm' unless defined &dumpvar_epic::dump_lexical_vars;

my $offset = 0;
my $savout = CORE::select($DB::OUT);
dumpvar_epic::dump_lexical_vars($offset);
CORE::select($savout);
};

12|$forceingest|1|1|17|SCALAR(0x40fb5a4)|3|'0'|1|3
4|$lll|1|2|14|REF(0x2739ff4)|37|Log::Log4perl::Logger=HASH(0x41bbe64)|3|...|1|3
9|$reingest|1|1|17|SCALAR(0x40fbf14)|3|'1'|1|3
13|$secondsPause|1|1|17|SCALAR(0x40fb774)|5|'300'|1|5
4|$tdh|1|2|14|REF(0x40ff0dc)|15|GLOB(0x42e7484)|3|...|1|3
12|$transferDir|1|1|17|SCALAR(0x40f9f24)|31|'c:/temp/xml/transfer/probleme'|2|31
8|$usedata|1|1|17|SCALAR(0x40fbf84)|3|'1'|1|3
6|%datah|1|1|15|HASH(0x40f2f8c)|3|...|1|3
5|@data|1|1|16|ARRAY(0x41002ec)|3|...|1|3
13|@transactions|1|1|16|ARRAY(0x40ff07c)|3|...|1|3
14|@transferFiles|1|1|16|ARRAY(0x40ff04c)|3|...|1|3
7|@tx_ref|1|1|16|ARRAY(0x40feffc)|3|...|1|3

  DB<397> ;{    
do 'dumpvar_epic.pm' unless defined &dumpvar_epic::dump_lexical_vars;

my $offset = 0;
my $varexpr = <<'EOT';
${$h->{'$lll'}}
EOT
my $subref = \&dumpvar_epic::dump_hash_expr;
my $savout = CORE::select($DB::OUT);
my $savbuf = $|;
$| = 0;
$subref->($offset, $varexpr);
$| = $savbuf;
print "";
CORE::select($savout);
};

3|ALL|1|2|14|REF(0x41d9f64)|15|CODE(0x41dbee4)|3|...|1|3
5|DEBUG|1|2|14|REF(0x41d9ba4)|15|CODE(0x41dbee4)|3|...|1|3
5|ERROR|1|2|14|REF(0x41d737c)|15|CODE(0x41d9b34)|3|...|1|3
5|FATAL|1|2|14|REF(0x41d735c)|15|CODE(0x41d9b34)|3|...|1|3
4|INFO|1|2|14|REF(0x41d748c)|15|CODE(0x41d9b34)|3|...|1|3
3|OFF|1|2|14|REF(0x41d9fe4)|15|CODE(0x41d9b34)|3|...|1|3
5|TRACE|1|2|14|REF(0x41d9ee4)|15|CODE(0x41dbee4)|3|...|1|3
4|WARN|1|2|14|REF(0x41d717c)|15|CODE(0x41d9b34)|3|...|1|3
10|additivity|1|1|17|SCALAR(0x41d52bc)|3|'1'|1|3
4

1 に答える 1

0

どうでも。確かに、Preferences/Perl EPIC/Enable Debugger Console の下にその設定があります。デバッガーの別の奇妙な問題 (スレッドが終了せず、Eclipse が再起動されるまでそこでハングする) のために、以前にその設定を有効にしました。無効にすると、不要な出力が停止します。たぶん、私のコンピューターの Perl/EPIC で本当に奇妙なことが起こっているのでしょう...

于 2015-08-27T13:15:58.270 に答える