コマンドを使用して式だけでなく変数の監視を追加できることは知っていますが、w
各コマンドを単純に解析し、特定のテキストがそのコマンドに含まれている場合に停止するように指示することはできますか?
w m/bad command/
whereのようなもの$_
は、実行中の次のコマンドを含む文字列です。
perl -d
現在、Windows で Komodo を使用してリモート CGI デバッグを行っていますが、Linux シェルでも使用できます。
更新:
これをより明確にしようとします。ディスク上のデータが削除されているファイルがあり、どこにあるかわかりません。私がデバッグしているプログラムは、相互に必要な多数の .pl ファイルで構成されており、完全なコードベースはさらに大きくなっています。もちろん、データ ファイルの名前の一部 (拡張子はわかっています) またはunlink
. しかし、自分のプログラムでどのコード ファイルが使用されているかがわからないため、これではどうにもなりません。
デバッグするこのコードについて考えてみましょう。
if ($foo == 1) {
unlink 'filename.example';
}
これをデバッグしているとき、次に実行しようとしている (スクリプトからの) perl コマンドに/example/
. 次のコマンドの実行前に実行されるようなフックが必要です。
そうすれば、ブレークしたいものがどこにあるか (どの行またはファイルのように)を知る必要がなく、変数名も必要ありません (何もないため)。
これを説明するのは奇妙だと思いますが、よくある問題かもしれないと思いました。たぶん、まったく別のアプローチがありますか?