問題タブ [dotpeek]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2983 参照

debugging - デバッグ ディレクトリのないアセンブリの DotPeek PDB 生成

JetBrains dotPeek 1.4 シンボル サーバーを使用しようとしていますが、次の dotPeek ステータスで失敗するサード パーティのアセンブリがいくつかあります。

CFF エクスプローラーを使用して、これらのアセンブリの "Debug Directory" Portable Executable (PE) ヘッダー値が空であることを発見しました。

PE を編集して Debug Directory ヘッダー値を追加する (簡単な) 方法はありますか?

0 投票する
1 に答える
593 参照

c# - 'using' ブロック コンパイラで生成されたコードが dotPeek または ILSpy で表示されない

usingを生成するコード ブロックのコンパイラ生成コードを調べたいと思っていますが、両方とも表示されtry-finallyておらず、この詳細も表示されていません。私はこのコード ブロックをよく見ていましたが、ブロックが含まれていることがわかりましたが、よく理解できません。これら 2 つのツールが役立つかどうかを確認したかったのです。dotPeekILSpyildasm.exetry-finally

何か案は?

更新: そのため、最近、プロジェクトで IDisposable を実装した構造体を使用し、usingコード ブロックと IDisposable を含む構造体がボクシングを引き起こすかどうか心配していました...しかし、後で、コンパイラがこの状況に最適化され、最適化されないことを述べた次の記事を見つけました。 Dispose を呼び出そうとすると、ボックスが表示されます。

http://ericlippert.com/2011/03/14/to-box-or-not-to-box/

そのため、コンパイラが using ブロックに対してどのようなコードを生成するかを知りたいと思っていました。

簡単な再現例: ここに画像の説明を入力

0 投票する
1 に答える
1218 参照

c# - dotPeek dll の逆コンパイル

そのため、サーバーには私たちが作成した古いdllが1つあり、ソースコードはずっと前に失われました。.dllファイル(プログラマーの1人によって作成されたもの)をデバッグしようとしましたが、逆コンパイルされたコードは少し保護されていたので一部のクラス変数は次のようになります。

では、この変数名を回復して、少なくとも物事がどのように機能しているかについての情報を得る方法はありますか?

0 投票する
1 に答える
1110 参照

c# - dotPeek を使用した CLR C++ コードの考察

私はこのコードを CLR c++ で書いています:

dll にコンパイルして DotPeek を使用すると、次の結果が得られます。

また、次のように C# リフレクションを使用します。

私は意味不明なものしか得ません:

__unep@?DoNothing@DefaultDomain@@@$$FCGJPAX@Z __unep@?_UninitializeDefaultDomain@LanguageSupport@@@$$FCGJPAX@Z

私の質問は: なぜそこにコードがないのですか?

0 投票する
1 に答える
685 参照

c# - dotpeek が "// Stub method ('ret' instruction only)" でメソッドを埋めるとはどういう意味ですか?

私は linq の集計アルゴリズムについて尋ねるこの質問に出くわし、これはリバース エンジニアリングによって最もよく答えられる種類の質問だと思ったので、Visual Studio に行き、次のコードを書きました (このコードは、Compact フレームワーク プロジェクトで使用することを意図しています)。ここで、Combine 関数は 2 つのパラメーターのみを持つことができます):

次に、カーソルを Aggregate メソッドに設定し、F12 キーを押して (Resharper をインストールしました)、次のコードに移動しました。

明らかに、これは Aggregate を呼び出したときに実行されるコードではありません。Aggregate は何かを行うからです。問題は、この逆コンパイラの結果が正確に何を意味するのかということです。また、「集計」メソッドをリバース エンジニアリングする適切な方法は何でしょうか?

- 編集 -

上記のことは、 Compact Frameworkプロジェクトで実行した場合にのみ当てはまることに気付きました。標準フレームワークの Aggregate を逆コンパイルすると、正しいソース コードが得られます。

0 投票する
1 に答える
280 参照

c# - 多くの CS ファイルを DLL ファイルに結合する方法は?

基本的に私がやろうとしていることはこれです:

1: 既存の DLL ファイルを取得します。2: 内部のいくつかの C# スクリプトを編集します。DotPeek を使用して Visual Studio で開くことでこれを行っています。

3: ファイルを編集したら、元の DLL ファイルに戻して、プログラムが正常に動作するようにします (私が変更しました)。

そのため、プログラムが機能するように、ファイルを DLL ファイルに戻す最後のステップに行き詰まっています。何か案は?ありがとうございました。