0

.net JITer によって生成されたマシン コードの逆アセンブリを確認するにはどうすればよいですか? [逆アセンブル ウィンドウを表示] メニュー オプションはどこにもありません。そのためのツールバー ボタンも無効な状態です。私の記憶が正しければ、分解は実際に見ることができますが、何らかのトリックに頼る必要があります。残念ながら、そのトリックが何であったかは覚えていません。誰かがここでいくつかの指針を提供してもらえますか?

デバッグ環境: VS2008 (WinDbg と一部のデバッガー拡張機能 (SOS.dll?) で問題なく逆アセンブリを確認できると思います) うーん、VS2008 でも同じ dll が使用されている可能性があると思います。確認して折り返しご連絡いたします。間違っていたら遠慮なく訂正してください。)

4

3 に答える 3

0

私にとってはうまく機能しているようです。アドレスレベルのデバッグを有効にしていますか?ツール| オプション| デバッグ| 一般| アドレスレベルのデバッグを有効にしますか?

分解ウィンドウを表示するには、[デバッグ]、[分解]の順に移動します。Windows | 分解(私はc#開発者プロファイルを使用しています)

または、コマンドウィンドウで「Debug.Dissassembly」と入力します

于 2009-04-20T22:47:10.133 に答える
0

VS2008 Team System Developer EditionのC#プロジェクトでは、逆アセンブリウィンドウが正常に機能しています。

実際、私が期待していたように機能していないことが1つありますが、フレームワークコードにステップインできません。多分どこかにそれをさせてくれるかもしれない設定があるかもしれません、私にはわかりません。しかし、私は自分のコードの逆アセンブルをうまく進めることができます。

VS2008 Expressを使用していますか?多分それはいくつかの制限があります。

常にcordbgがあります(yikes!)。

もちろん、JITerは、デバッガーで実行すると、最適化されていないコードを生成します。これを回避するためにジャンプできるいくつかのフープがあるかもしれません-JITがあなたが見たいもののためにその仕事をした後にプロセスにアタッチするようなものです。

于 2009-04-17T08:25:39.013 に答える
0

残念ながら、show debug window コマンドはまだ機能していませんが、SOS.dll と呼ばれるデバッガ拡張 DLL を使用して、.net コードをデバッグ/逆アセンブルすることができます。

1) MSDN: SOS Debugging Extension (SOS.dll)
2) Windbg で SOS を使用する際の一般的なヒント

于 2009-04-17T08:40:09.400 に答える