問題タブ [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.
debugging - デバッグ ディレクトリのないアセンブリの DotPeek PDB 生成
JetBrains dotPeek 1.4 シンボル サーバーを使用しようとしていますが、次の dotPeek ステータスで失敗するサード パーティのアセンブリがいくつかあります。
CFF エクスプローラーを使用して、これらのアセンブリの "Debug Directory" Portable Executable (PE) ヘッダー値が空であることを発見しました。
PE を編集して Debug Directory ヘッダー値を追加する (簡単な) 方法はありますか?
c# - 'using' ブロック コンパイラで生成されたコードが dotPeek または ILSpy で表示されない
using
を生成するコード ブロックのコンパイラ生成コードを調べたいと思っていますが、両方とも表示されtry-finally
ておらず、この詳細も表示されていません。私はこのコード ブロックをよく見ていましたが、ブロックが含まれていることがわかりましたが、よく理解できません。これら 2 つのツールが役立つかどうかを確認したかったのです。dotPeek
ILSpy
ildasm.exe
try-finally
何か案は?
更新:
そのため、最近、プロジェクトで IDisposable を実装した構造体を使用し、using
コード ブロックと IDisposable を含む構造体がボクシングを引き起こすかどうか心配していました...しかし、後で、コンパイラがこの状況に最適化され、最適化されないことを述べた次の記事を見つけました。 Dispose を呼び出そうとすると、ボックスが表示されます。
http://ericlippert.com/2011/03/14/to-box-or-not-to-box/
そのため、コンパイラが using ブロックに対してどのようなコードを生成するかを知りたいと思っていました。
c# - dotPeek dll の逆コンパイル
そのため、サーバーには私たちが作成した古いdllが1つあり、ソースコードはずっと前に失われました。.dllファイル(プログラマーの1人によって作成されたもの)をデバッグしようとしましたが、逆コンパイルされたコードは少し保護されていたので一部のクラス変数は次のようになります。
では、この変数名を回復して、少なくとも物事がどのように機能しているかについての情報を得る方法はありますか?
c# - dotPeek を使用した CLR C++ コードの考察
私はこのコードを CLR c++ で書いています:
dll にコンパイルして DotPeek を使用すると、次の結果が得られます。
また、次のように C# リフレクションを使用します。
私は意味不明なものしか得ません:
__unep@?DoNothing@DefaultDomain@@@$$FCGJPAX@Z __unep@?_UninitializeDefaultDomain@LanguageSupport@@@$$FCGJPAX@Z
私の質問は: なぜそこにコードがないのですか?
c# - dotpeek が "// Stub method ('ret' instruction only)" でメソッドを埋めるとはどういう意味ですか?
私は linq の集計アルゴリズムについて尋ねるこの質問に出くわし、これはリバース エンジニアリングによって最もよく答えられる種類の質問だと思ったので、Visual Studio に行き、次のコードを書きました (このコードは、Compact フレームワーク プロジェクトで使用することを意図しています)。ここで、Combine 関数は 2 つのパラメーターのみを持つことができます):
次に、カーソルを Aggregate メソッドに設定し、F12 キーを押して (Resharper をインストールしました)、次のコードに移動しました。
明らかに、これは Aggregate を呼び出したときに実行されるコードではありません。Aggregate は何かを行うからです。問題は、この逆コンパイラの結果が正確に何を意味するのかということです。また、「集計」メソッドをリバース エンジニアリングする適切な方法は何でしょうか?
- 編集 -
上記のことは、 Compact Frameworkプロジェクトで実行した場合にのみ当てはまることに気付きました。標準フレームワークの Aggregate を逆コンパイルすると、正しいソース コードが得られます。
c# - 多くの CS ファイルを DLL ファイルに結合する方法は?
基本的に私がやろうとしていることはこれです:
1: 既存の DLL ファイルを取得します。2: 内部のいくつかの C# スクリプトを編集します。DotPeek を使用して Visual Studio で開くことでこれを行っています。
3: ファイルを編集したら、元の DLL ファイルに戻して、プログラムが正常に動作するようにします (私が変更しました)。
そのため、プログラムが機能するように、ファイルを DLL ファイルに戻す最後のステップに行き詰まっています。何か案は?ありがとうございました。