CLR20R3
実行中の ASP.NET アプリケーションでエラーが発生します。そして、最終的にはこのエラーをキャッチする必要があることはわかっていますが、これは PROD で解決した後に行うメンテナンス タスクです。すぐにメンテナンス タスクに取り掛かることができない理由は、すべての下位環境でこれらの変更をテストして承認し、最終的に PROD に移行するには、膨大な量の作業と時間がかかるためです。
エラーには、P7
値がであることが示されているため、問題のあるアセンブリ(私のアセンブリではない)4dd
から IL ダンプを取得した後、そのコードが見つかりました。また、メソッド トークンの後にいくつかの行を表示しています。これは、呼び出されたメソッドの問題のある行を参照していると思われるためです。
IL_0040: callvirt instance int32 IBM.WMQ.MQTCPConnection/*02000072*/::SendData(uint8[],
int32,
int32) /* 060004DD */
IL_0045: stloc.0
IL_0046: leave.s IL_0055
さて、それを念頭に置いて、問題のあるアセンブリの逆コンパイルされたコードにこれをマップしようとしているので、それは質問への良いセグエです.
行は、呼び出されたメソッドで失敗しているIL_0046: leave.s IL_0055
行を参照していますか?
もしそうなら、以下はその一致した行と、関連していると思われる前のコードの一部です。
IL_0044: callvirt instance int32 [System/*23000002*/]System.Net.Sockets.Socket/*0100000E*/::Send(uint8[],
int32,
int32,
valuetype [System/*23000002*/]System.Net.Sockets.SocketFlags/*01000060*/) /* 0A0000F9 */
IL_0049: stloc.0
IL_004a: ldarg.0
IL_004b: ldc.i4 0x92
IL_0050: ldstr "Send returned " /* 700028D5 */
IL_0055: ldloc.0
しかし、ハンスがこの投稿で、P8
値はオフセットまたは問題のある行であり、それは例外を除いてジャイブしないと述べているため、それが何を指しているのかを正当化するのに少し苦労しています. 例外は、P8
値が7d
.