リソースを取得するメソッドがそれを解放するかどうかを確認しようとしています。単一のjarファイル内のクラス内のメソッドの呼び出し元を見つけるための最良のツールは何ですか? CheckStyle
またはFindBugs
でこれを行うことはできますか?どうやって?メソッドの呼び出し元を見つける
私はBCEL
などを使用してこれを行うことができますが、以前はバイトコードで作業したことがなく、これを行うには時間がかかりすぎます。
"java call graph"を検索すると便利なものは見つかりませんでしたが、これは非常に基本的な機能であると思われます。しかし、この非常に大きなプロジェクトでコールグラフ全体を生成する必要はありません。
監査しようとしているリソースの種類がわからなくても、推薦するのは難しいです。 'what'と 'how'に応じて、JavassistのようなAOPツールやSootのようなコールフロー解析ツールを見たいかもしれません。 – Perception
@Perception私は仕事をするだろうと思った私の検索でSootを見つけましたが、プログラミングが必要です。私は任意の*リソースのために直ちに使うことができるものを見つけることができるようにしたいと思います - 'SomeResource.acquire'を呼び出すjarのすべてのメソッドを探したいとします。 –
確かにFindBugsには閉じられていないストリームを見つける機能があります。私はそのサポートがどれほど一般化されているか分かりません。 –