I have encountered a problem when decompiling some Mono .net 3.5 DLL. This is the
Current member / type: System.UInt32 XOR32::next()File path: D:\CMO\Data\Managed\Assembly-CSharp.dll
Product version: 2014.1.225.0Exception in: System.UInt32 next()
Queue empty.at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)at System.Collections.Generic.Queue`1.Peek()at Š.‡€.€(ICollection`1 €) in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\TypeInference\TypeInferer.cs:line 525at Š.‡€.€() in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\TypeInference\TypeInferer.cs:line 445at Š.‡€.€() in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\TypeInference\TypeInferer.cs:line 363at Š.‡€.€() in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\TypeInference\TypeInferer.cs:line 307at ‚–.†.œ(”“ Ž, •Ÿ €–) in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\ExpressionDecompilerStep.cs:line 82at ‚–.™“.‹(MethodBody €–, ILanguage ) in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\DecompilationPipeline.cs:line 83at ‚–..›“(™“ œ“, ILanguage , MethodBody €–, ”“& ™) in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\Extensions.cs:line 99at ‚–..š“(MethodBody €–, ILanguage , ”“& ™, œ–) in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\Extensions.cs:line 62at ——.ƒ˜.—(ILanguage , MethodDefinition €, œ–) in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\WriterContextServices\BaseWriterContextService.cs:line 116
Opcode (IL) of this method:
.method public hidebysig instance uint32 next () cil managed { .locals init ( [0] uint32 V_0, [1] uint32 V_1 )
IL_0000: ldarg.0 IL_0001: ldfld uint32 XOR32::x IL_0006: ldarg.0 IL_0007: ldfld uint32 XOR32::x IL_000c: ldc.i4.s 11 IL_000e: shl IL_000f: xor IL_0010: stloc.0 IL_0011: ldarg.0 IL_0012: ldarg.0 IL_0013: ldfld uint32 XOR32::y IL_0018: stfld uint32 XOR32::x IL_001d: ldarg.0 IL_001e: ldarg.0 IL_001f: ldfld uint32 XOR32::z IL_0024: stfld uint32 XOR32::y IL_0029: ldarg.0 IL_002a: ldarg.0 IL_002b: ldfld uint32 XOR32::w IL_0030: stfld uint32 XOR32::z IL_0035: ldarg.0 IL_0036: ldarg.0 IL_0037: ldfld uint32 XOR32::w IL_003c: ldarg.0 IL_003d: ldfld uint32 XOR32::w IL_0042: ldc.i4.s 19 IL_0044: shr.un IL_0045: xor IL_0046: ldloc.0 IL_0047: ldloc.0 IL_0048: ldc.i4.8 IL_0049: shr.un IL_004a: xor IL_004b: xor IL_004c: dup IL_004d: stloc.1 IL_004e: stfld uint32 XOR32::w IL_0053: ldloc.1 IL_0054: ret }
I hope you can resolve this issue, and i can finally decompile my code correctly.
As for the weird signs, there might be some japanese in there that doesn't translate well to this forum.
Current member / type: System.UInt32 XOR32::next()File path: D:\CMO\Data\Managed\Assembly-CSharp.dll
Product version: 2014.1.225.0Exception in: System.UInt32 next()
Queue empty.at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)at System.Collections.Generic.Queue`1.Peek()at Š.‡€.€(ICollection`1 €) in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\TypeInference\TypeInferer.cs:line 525at Š.‡€.€() in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\TypeInference\TypeInferer.cs:line 445at Š.‡€.€() in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\TypeInference\TypeInferer.cs:line 363at Š.‡€.€() in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\TypeInference\TypeInferer.cs:line 307at ‚–.†.œ(”“ Ž, •Ÿ €–) in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\ExpressionDecompilerStep.cs:line 82at ‚–.™“.‹(MethodBody €–, ILanguage ) in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\DecompilationPipeline.cs:line 83at ‚–..›“(™“ œ“, ILanguage , MethodBody €–, ”“& ™) in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\Extensions.cs:line 99at ‚–..š“(MethodBody €–, ILanguage , ”“& ™, œ–) in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\Extensions.cs:line 62at ——.ƒ˜.—(ILanguage , MethodDefinition €, œ–) in c:\Builds\245\Behemoth\ReleaseBranch Production Build\Sources\Decompiler\Cecil.Decompiler\Decompiler\WriterContextServices\BaseWriterContextService.cs:line 116
Opcode (IL) of this method:
.method public hidebysig instance uint32 next () cil managed { .locals init ( [0] uint32 V_0, [1] uint32 V_1 )
IL_0000: ldarg.0 IL_0001: ldfld uint32 XOR32::x IL_0006: ldarg.0 IL_0007: ldfld uint32 XOR32::x IL_000c: ldc.i4.s 11 IL_000e: shl IL_000f: xor IL_0010: stloc.0 IL_0011: ldarg.0 IL_0012: ldarg.0 IL_0013: ldfld uint32 XOR32::y IL_0018: stfld uint32 XOR32::x IL_001d: ldarg.0 IL_001e: ldarg.0 IL_001f: ldfld uint32 XOR32::z IL_0024: stfld uint32 XOR32::y IL_0029: ldarg.0 IL_002a: ldarg.0 IL_002b: ldfld uint32 XOR32::w IL_0030: stfld uint32 XOR32::z IL_0035: ldarg.0 IL_0036: ldarg.0 IL_0037: ldfld uint32 XOR32::w IL_003c: ldarg.0 IL_003d: ldfld uint32 XOR32::w IL_0042: ldc.i4.s 19 IL_0044: shr.un IL_0045: xor IL_0046: ldloc.0 IL_0047: ldloc.0 IL_0048: ldc.i4.8 IL_0049: shr.un IL_004a: xor IL_004b: xor IL_004c: dup IL_004d: stloc.1 IL_004e: stfld uint32 XOR32::w IL_0053: ldloc.1 IL_0054: ret }
I hope you can resolve this issue, and i can finally decompile my code correctly.
As for the weird signs, there might be some japanese in there that doesn't translate well to this forum.