レガシーアプリケーションでバグを修正するように言われました。不要なシステムコールで例外を発生させる
私はバグを再現することができますが、pythonのソースコード行がエラーを実行する手がかりがありません。
strace
と表示されます。ファイルが開かれますが、開かないはずです。
私は関連するopen()linux-syscallをPythonインタプリタでExceptionを発生させたいと考えています。私の目標:バグを修正できるスタックトレースを見たい。
このようにして、デバッガで多くの行をステップ実行するのを避けることができました。
他の言葉と同じです:syscallが実行されると、straceの出力がopen("/somefile", O_RDONLY) = 4
になり、pythonインタプリタはトレースバックで終了する必要があります。
誰か解決策がありますか?
私が探しているものがわからない場合は、コメントを残してください。
一時的に '/ somefile'の名前を変更することは可能でしょうか? (コードがまだファイルの欠落状況を処理していないと仮定します)。 – chepner
いいえ、ファイルの名前を変更することは役に立ちません。 – guettli