8

.NET Reflector Pro (無料版ではない) を使用した経験のある人はいますか?

外部環境 (たとえば、オフィスの外にある運用サーバー) でアプリケーションを簡単にデバッグする方法を探していたところ、.NET Reflector Proとその機能「逆コンパイルされたアセンブリにステップインし、必要なすべてのデバッグ手法を使用する」を見つけました。独自のコードで使用します」。

とても便利に見えますが、このツールを使った個人的な経験について聞きたいです...特に「毎日」使っている人から。

ありがとう!

編集: いくつかの追加情報: この機能を使用して、古いバージョンのモジュラー アプリケーション (いくつかのバージョンで 100 以上のモジュール) をデバッグし、テスト環境では表示されない再現が困難なバグ (たとえば、組み合わせデータベース内のデータ、サーバー/クライアントの現在の構成など)。

指定されたアセンブリを再構築する方法があります (数十のアセンブリが必要になる場合があります) ... 問題固有のログ情報を追加します。ただし、ローカル変数、フィールド、スレッドなどを簡単にデバッグして調べるのではなく、長い時間がかかります。

4

7 に答える 7

7

かなりクールに見えますが、非常に頻繁に役立つとは思えません。

ほとんどの場合、バグはおそらくソース、PDB、およびロットがある自分のコードにあるため、Reflector は必要ありません。Microsoft フレームワーク コードをデバッグするオプションがあれば、Reflector Pro も必要ありません。したがって、Reflector Pro の使用例は、サードパーティ ライブラリのデバッグにあるようです。明らかに、これらは時々いくつかのバグの原因となり、そのような場合、Reflector Pro はその価格に見合う価値があるかもしれません.

ただし、追加される「唯一の」ことは、これらをシームレスにデバッグする機能です。Reflector の単純なバニラ版でコードを見ることはできます。私の経験では、ほとんどの場合で十分です。

ここで間違っている可能性があることは認めますが、多くのユーザーにとっては無料版で十分だろうというのが私の直感です。いずれにせよ、私はその特定の機能のために 200 ドルを急いで支払うつもりはありません。

于 2010-03-01T11:56:30.167 に答える
6

この投稿に出くわしたばかりです...しかし、私は.NETReflectorProの経験があります。全体として、デバッグ機能は時々ベーコンを本当に節約する(つまりあなたを助ける)ことができます。

実際、私は最近、.NETReflectorProを使用して.NETFrameworkソースコードをデバッグする方法に関するブログ投稿を書きました。この投稿は、私自身のツールの経験についての洞察を確実に提供します。

http://www.cplotts.com/2011/01/14/net-reflector-pro-debugging-the-net-framework-source-code/

また、毎日デバッグ機能を使用している人を見つけるのは難しいかもしれません。自分のコードではなく、.NET Frameworkまたはサードパーティのアセンブリで発生する可能性のある非常に難しい問題をデバッグする(または洞察を得る)必要がある場合にのみ使用します。

「なぜVisualStudioのネイティブサポートを使用しないのですか?」と主張する人もいるかもしれません。ええと、できれば...できますが、すべてのアセンブリがサポートされているわけではありません。また、リリースされたビットがMicrosoftのパブリックシンボルサーバーで利用できるものと古くなることがあります...つまり、サポートされているアセンブリでさえ、特定の時間にサポートされていません。

もちろん、.NET Reflector Proを使用すると、.pdbsやソースコードにアクセスできないサードパーティのアセンブリをデバッグすることもできます。私のブログ投稿は、これらの状況でも役立ちます。この投稿は、デバッグ機能の使用に関する非常に一般的な「ハウツー」投稿です。

(他の人がすでに指摘しているように)指摘/強調する明らかなことの1つは、.NETReflectorProのデバッグ機能はVisualStudio内からのみ使用できるということです。そのため、デバッグしようとしているマシンにVisualStudioをインストールする必要があります。ほとんどの実稼働環境には、これらのマシンに開発環境がありません(またはインストールできません)。したがって、特定のシナリオで.NETReflectorProを使用することさえできない場合があります。

.NET Reflectorの無料バージョンは、それが機能するためにどこかにコピーする必要があるだけなので、関心のあるアセンブリを(少なくとも)分析できます(デバッグはできません)。

于 2011-01-21T17:53:39.487 に答える
3

投稿したリンクには、「NET Reflector Pro は、ソースがなくても、サードパーティのコードとアセンブリをデバッグできる Visual Studio へのアドインです」と書かれています。

したがって、開発マシンでのみ使用できます...ユーザーが運用マシンにVisual Studioを持っているとは思えないためです。

于 2010-03-01T11:47:01.753 に答える
1

私は.NETReflectorProを使用しており、「逆コンパイルされたアセンブリにステップインし、独自のコードで使用するすべてのデバッグ手法を使用する」機能を非常に頻繁に使用しています。次にいくつかの例を示します。

Citrix XenServer:

Citrix XenServerを使用し、C#XenAPIを使用して多くのプロセスを自動化します。APIを使用して特定の機能(スナップショット管理など)を実行するのに最適な方法がドキュメントから明らかでない場合があります。

Citrix XenServerには、XenCentreと呼ばれる管理フロントエンドが付属しています。XenCentreは、XenAPIおよびSDKツールに大きく依存する.NETWindowsフォームアプリケーションです。アプリケーションはオープンソースではありませんが、難読化されていません。Xen APIをよりよく理解できるように、Reflector Proを使用してコードにステップインしたり、ブレークポイントを設定したりしています。

それは私にとって非常に便利なツールであり、お金の価値が十分にありました(実際、オファーが実行されたときに購入したので、46.00ユーロしかかかりませんでした)。この機能により、コード(ala vanilla .NET Reflector)を静的に分解して操作したり、サポートチーム(非常に優れていますが、非常に優れていますが)から質問に答えられるのを待ったりするのではなく、数え切れないほどの時間を節約できました。 「人に魚を教える」....)または彼らのフォーラムで。

IIS Metabase Explorer 1.6:

このツールが便利だったもう1つの良い例は、IIS6 MetabaseExplorer1.6ツールです。.NETアプリケーションからIIS6ABO(管理ベースオブジェクト)COMAPIを呼び出す方法を理解する必要がありました。運が良ければ、このバージョンのMetabase Explorerは、ABOAPIのマネージド相互運用機能ラッパーを備えた.NETWindowsフォームアプリケーションであることがわかります。

「ステップイン」機能を使用して、.NETからABO APIを使用する方法、ブレークポイントを設定する方法、ライブ変数を調べる方法などを理解することができました。これも、かなり厄介になっていたものをかなり数時間短縮しました。タスク(ABO APIは、十分に文書化されていないか、わかりやすいものではありません)。

結論として、他の人のコードを実際に調べて、ブレークポイントを設定して実行時にアプリケーションの状態を確認できる必要がない限り基本的なツールで十分な場合があります。ただし、多くの場合、アプリケーションまたはライブラリが実際に何を実行していて、それが「ライブ」状態であるかを確認する必要があるようです。.NET Reflectorを使用したRedGateの最新の策略の善悪に立ち入ることなく、傭兵の観点からは、それは非常に有用であるとされています。

于 2011-04-20T08:20:31.570 に答える
1

コンパイルされたアセンブリにデバッグすることはあまりありませんが、そうする必要がある場合、通常は 2 日間にわたって行われ、そうしないとカレンダー時間が 2 倍になると思います。

Reflector Pro がデバッグ セッションのためにアセンブリをスキャンするのに時間がかかる場合がありますが、この状態は維持され、バックグラウンドでスキャンが行われます。

Reflector Pro が逆コンパイルしたアセンブリの Visual Studio のエラー ウィンドウにエラーが表示される問題を探していたときに、あなたの投稿に出会いました。これらは私のアプリケーション開発には意味がありません (そして、アプリのコンパイルを妨げません) が、そのウィンドウに多少の混乱を加えます。もう少し調査した後、これは別の SO の質問になる可能性があります。

于 2011-08-09T15:17:08.820 に答える
1

一部の SharePoint SPFieldUser で奇妙な動作を検索しているときに、逆アセンブルされたライブラリでのデバッグにより、お尻が救われました。私はそれに数日を費やしましたが、コントロールのライフサイクルをステップスルーし、特定のフェーズでどのプロパティがどの動作に影響を与えるかを確認する機能がなければ、確実に解決することはできなかったでしょう. 本当に命の恩人です!

于 2011-09-02T14:14:01.320 に答える
0

Red-Gate が製品を監視しているフォーラムで質問することをお勧めします: http://www.red-gate.com/messageboard/viewforum.php?f=85

于 2010-03-01T12:42:54.083 に答える