.Net JITer / ngenによって生成されたネイティブコードを逆アセンブル/検査することは可能ですか?(純粋に学術的な目的のために)
この質問に答えようとすると、JITerがどのような最適化を実行するのか興味をそそられました。大げさに推測するのではなく、実際に何が起こっているのかを自分で確認できるようにしたいと思います。
これまでのところ:
- ngenを使用して候補アセンブリのネイティブイメージをインストールしました(これの出力は、JITコンパイラの出力とは異なる可能性がありますか?)
- GACからネイティブイメージをコピーしました
しかし、今は少し行き詰まっています-.Netアセンブリはポータブルで実行可能な形式ですが、そのようなファイル(objdump)を逆アセンブルするために使用する可能性のある通常のツールはbarfだけです:
C:\Users\justin\Desktop>objdump -d ConsoleApplication1.ni.exe
objdump: ConsoleApplication1.ni.exe: File format not recognized
このようにネイティブ画像の内部を覗くのは可能ですか?それが失敗すると、好奇心を満たすことができるかもしれない別の方法がありますか?(たとえば、実行中のプロセスでコードを逆アセンブルする)