This Microsoft article states that:

When building with LTCG, the compiler front end doesn't invoke the back end. Instead, it emits an OBJ file with IL in it. It bears repeating: this IL is not the same IL that the .NET runtime uses. While .NET IL is standardized and documented, the IL used with LTCG is undocumented and subject to change from version to version of the compiler.

... and concludes:

OBJ files produced when using LTCG aren't standard COFF format OBJs. Again, this isn't a problem for most people, but if you examine OBJ files with tools like dumpbin, you're simply out of luck—it won't work.

Are there - by now - any tools that let me disassemble the code inside these "IL .obj" files and let me access things like symbols, relocation tables, etc.? Even IDA Pro seems to have problems with these kind of files. It identifies them as "COFF (Microsoft CIL bytecode)" and doesn't show any meaningful disasembly...

1 Answer 1


I don't know of any tools that can analyze or disassemble CIL bytecode, but what you can do is to link those files and produce normal machine code. E.g. something like:

LINK 1.obj /force /debug /dll /out:1.dll /noentry 

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.