私は何年もの間jadを使用してきましたが、これらのほとんどはEclipse用のJadclipseプラグインを使用しており、非常に使いやすくなっています。特に、スタックトレース内の任意の行の逆コンパイルされたコードを確認できる「デバッグ用のコードの整列」を使用します。非常に素晴らしい。
残念ながら、<-MISALIGNED->コメントが潜入しているのをますます見ています。これは、jadがクラスファイルが順番になっていることを期待しているためと考えられますが、Java6ランタイムライブラリの場合は明らかにそうではありません。したがって、ファイルを書き込むときに、命令が「これは100行目です」と言うと、99行の空の行が書き込まれ、次の命令が「これは10行目です」と言う場合、jadは巻き戻してその出力をそこに置くことはできず、単に出力します。これは間違った場所にあるというコメントを出します。
HttpURLConnectionの例を次に示します。
protected HttpURLConnection(URL url, Proxy proxy, Handler handler1)
{
/* <-MISALIGNED-> */ /* 603*/ super(url);
/* <-MISALIGNED-> */ /* 192*/ ps = null;
/* <-MISALIGNED-> */ /* 196*/ errorStream = null;
/* <-MISALIGNED-> */ /* 199*/ setUserCookies = true;
/* <-MISALIGNED-> */ /* 200*/ userCookies = null;
/* <-MISALIGNED-> */ /* 220*/ currentProxyCredentials = null;
/* <-MISALIGNED-> */ /* 221*/ currentServerCredentials = null;
/* <-MISALIGNED-> */ /* 222*/ needToCheck = true;
/* <-MISALIGNED-> */ /* 223*/ doingNTLM2ndStage = false;
/* <-MISALIGNED-> */ /* 224*/ doingNTLMp2ndStage = false;
/* <-MISALIGNED-> */ /* 226*/ tryTransparentNTLMServer = NTLMAuthentication.supportsTransparentAuth();
/* <-MISALIGNED-> */ /* 227*/ tryTransparentNTLMProxy = NTLMAuthentication.supportsTransparentAuth();
/
問題は、より正確な出力をラインごとに生成する別の逆コンパイラーがあるかどうかです。実際の逆コンパイルは、極端に優れている必要はありませんが、Javaスタックトレースビューが期待する場所であることが本当に気に入っています。Jadclipseでうまく機能すれば、それはさらに良いことです。