ホーム > プログラミング, メモ > dotPeekの正式版が出たらしいので入れてみた。

dotPeekの正式版が出たらしいので入れてみた。


.NETのアセンブリを確認する場合は、.NET Reflectorってのが定番だったんだけれど、Reflector 7が有料化後は、幾つかのベンダーは代替えツールの開発を進めていました。

で、ReSharperでおなじみjetbrains製のdotPeekが1.0になったらしいので、ちょこっと触ってみました。

インストール

インストーラーはZIP版とMSI版の2つがあり、下記のURLからダウンロードできます。

http://www.jetbrains.com/decompiler/download/index.html

起動すると、こんなスプラッシュウインドウが表示されます。

image

初めてのデコンパイル

こんなコードを記述した、VBのアセンブリを表示してみましょう。無駄にラムダ式入れています。

Module Module1

Sub Main()
Console.WriteLine((Function() DateTime.Now.ToString())())
End Sub

End Module

メイン画面にアセンブリをドロップするか、Fileメニューからアセンブリを参照し、でコンパイルする対象をDecompile Sourceからデコンパイルすると、こんな感じに表示されます。

image

デフォルトでは左側に読み込まれたアセンブリの一覧と、そのアセンブリに含まれるクラス、リソース、参照するアセンブリがツリー上に表示されます。このあたりはReflectorと変わりませんね。表示されているソースコードは、、、C#ですね。VBのソースはどうやって表示するんだろう。。。

コンパイラーが生成したコード

ラムダ式や匿名デリゲートを利用すると、コンパイラーがコンパイル時に自動的にクラスを作成します。こういったクラスたちを表示する場合は、Show Compiler-generated codeをクリックしてあげると、こんな感じに表示されます。

image

ラムダ式が_Lambda\u0024__1()というメソッドに置き換わり、VB$AnonymouseDelegate_0<TResult>デリゲートが作成されているのを確認できます。

ソースコードの参照

PDBファイルがある場合は逆アセンブリされたソースではなく、ローカルのソースコードか、公開されているソースサーバーから該当のソースコードをマッピングして表示することができます。

image

ソースコードがあれば、VBのソースが表示されます。(PDBとソースコードがある環境でわざわざこれを使うことがあるのか?)

image

Tips

キーボードショートカットの一覧が公開されています。

ReShaperを利用している場合は、

広告
  1. まだコメントはありません。
  1. 2012年5月15日12:02 AM

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。