4

でスクリプトをデバッグしようとしていperl -d ...ます。必要な場所でブレークした後、現在の環境と上位フレームからの環境を出力したいと思います。

経由でスタックが表示されますT。さて、試してみるとV、すべてのリストが得られますが、定数などが含まれているため、ほとんど役に立ちSO_BROADCASTません。それらを除外して、ローカルのものだけを取得するにはどうすればよいですか?

より高いフレームで同じことを行うにはどうすればよいですか?

また、より高いスタックフレームの行の周りにコードを印刷するにはどうすればよいですか? v/l現在のものだけを実行します。

4

2 に答える 2

1

y [level]現在またはそれ以上のレキシカル (my) 変数 ( で指定) を表示するを試しましたlevelか?

もちろん、それが「ローカルのものだけを取得する」という意味です。

于 2010-08-17T10:38:20.960 に答える
1

PadWalkerモジュールを使用して、特定のスコープでレキシカルのリストを提供することもできます。peek_myおよびpeek_our関数は、相対呼び出しフレーム (0 - 現在のフレーム、1 - 呼び出しフレーム、...) でスコープ内の変数のハッシュリファレンスを返します。

于 2010-08-17T15:10:17.197 に答える