問題タブ [ildasm]

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 投票する
0 に答える
113 参照

c# - プロジェクト展開エラーでの XAML 解析例外

もちろん、開発システムを含む特定のプラットフォームとシステムで正常に動作する WPF アプリケーションがありますが、デプロイ時にすべてではなく一部のプラットフォームで問題が発生します。もちろん、これは依存関係に関する問題のように聞こえますが、何を/どれを追跡するかはわかりません。WERInternalMetadata.xml の問題の署名は次のことを示しています。

パラメータ 7 から 105 を探すために ILDASM を使用すると、次のようになります。

私はこれの頭や尾を作る方法がわかりません...私はどんな助けにも非常に感謝しています!

0 投票する
2 に答える
362 参照

ildasm - Ildasm Ctrl + M (メタデータ)

CarLibrary.dllで名前を付けて作成したアセンブリを開きましたが、ショートカット+を使用して (またはメイン メニューから選択して)ildasm.exeメタデータを開こうとすると、プログラムが起動せずに閉じられます。CTRLM

これは、たとえば を開こうとすると機能しますmscorlib.dll

なぜそれが起こっているのですか?MS VS .NET 2013 を使用しています。

0 投票する
2 に答える
154 参照

c# - null 許容型に基づくオブジェクトは、オブジェクトが null でない場合にのみボックス化されます

C#簡単なプログラム を作成しました:

MSDNによると:

null 許容型に基づくオブジェクトは、オブジェクトが null でない場合にのみボックス化されます。HasValue が false の場合、オブジェクト参照はboxing ではなくnull に割り当てられます。

実行可能ファイルを試してみたところ、コードにboxメソッドが呼び出されていることがILDASMわかりました。IL

私の質問は:なぜそれが呼ばれたのですか?たぶん私は何か間違ったことをしている、または何かを誤解していますか?

0 投票する
0 に答える
249 参照

cil - ILDASM がメソッドを正しく逆アセンブルしない

IL レベルで dll をデバッグする必要があり、http://blogs.msdn.com/b/jmstall/archive/2004/10/03/237137.aspxを読んで、il(d )アスム。

逆アセンブリは実行されますが、再アセンブリは失敗します

次に、ILSpy で DLL を開き、生成された IL ファイルをメモ帳で開きます。

ILSpy:

ILDASM (行 71204 は IL_0016):

stloc.s へのインデックスが欠落しているようです。

ILDasm ヘルプ -> 情報は、バージョン 4.0.30319.0 を示しています。

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

c# - 最適化されていない MSIL の余分な NOP と分岐

次のコードをデバッグとしてコンパイルすると...

...一見役に立たない命令を含む奇妙なバイトコードがコンパイラによって生成されます。たとえば、プロパティのゲッター用に生成されるものを参照してくださいMyProperty( で逆アセンブルildasm.exe):

具体的には、そこで何nopをしているのIL_0000ですか?そして、なぜコンパイラは文字通りどこからともなくこの役に立たないbr.s命令を生成するのでしょうか? IL_0008一時的なローカル変数を作成するのはなぜCS$1$0000ですか?

リリース構成の場合、命令セットは期待どおりに生成されます。


編集

なぜブランチと一時的なローカル変数が別の質問にあるのかという質問に対する答えを見つけたと思います。おそらく、デバッグ中にブレークポイントを簡単に設定するためです。したがって、残っている問題は、nop命令が生成される理由です。