Eclipse と PadWalker の Perl デバッガーに問題があります。以前は単純な 1 ファイルのスクリプトにのみ使用されていました。「my」を使用して宣言された変数。それらは、デバッガーの「変数」ウィンドウに正常に表示されます。
今、私は他の誰かのより複雑なスクリプトを使用していますが、「our」を使用して宣言された変数が表示されません。調査するために、非常に単純な例にまとめました
ジャンク.pl:
use strict;
use warnings;
require 'junk2.pl';
package Junk;
my $simon = "SOMETHING";
print "JUNK " . $Junk2::james . "\n";
print "JUNK " . $simon . "\n";
ジャンク2.pl:
package Junk2;
our $james;
$james = "FOO";
1;
コードをステップ実行すると、変数my $simon
はデバッガ ウィンドウに正常に表示されますが、変数は表示されour $james
ません。デバッガーは正常に動作しています。プログラムが実行され、出力ウィンドウに正しい出力が表示されます...表示に失敗したのは変数ウィンドウだけです$james
。
以下のスクリーンショットは、問題を示しています。ご覧のとおり$james
、Junk2 パッケージの変数は正常に出力されますが、変数の表示には表示されません。
解決策をしばらく探していましたが、うまく一致するものが見つかりません...何かアイデアはありますか?
編集: Perl デバッガーを使用すると、パッケージ変数を「見る」ことができることがわかりました:
.
padwalker が示すように、IDE でわかりやすい方法で同じ出力を表示する方法はありますか?
これまでに答えてくれた人たちに感謝します:)