G
Guest
What should I look for in ILDASM to see whether or not a given assembly is a
debug assembly and not a release assembly? (The assembly is .NET 2.0)
I tried looking at a debug assembly in the bin/debug directory and then I
looked at the release assembly in the bin/release directory.
Both contained these lines in the manifest:
// --- The following custom attribute is added automatically, do not
uncomment -------
// .custom instance void
[mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype
[mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = (X X X X X
X X X)
Where the debug exe (X X X X X X X X) = ( 01 00 07 01 00 00 00 00 )
And the release exe (X X X X X X X X) = ( 01 00 02 00 00 00 00 00 )
So should I simply look for the 01 00 07 01 00 00 00 00 value to determine
if ANY given assembly is debuggable?
(Also, is there a difference between an exe and a dll?)
-----------
What is confusing me is a statement in another newsgroup where the author
states :
And from this he concludes that the give assembly is a Release assembly and
not a Debug assembly.
I'm not sure how to look for the Debuggable Attribute, other than what I
discovered on my own as stated above.
Could someone help me to understand this?
(Also, I'm not sure if I should post this here or, rather, in the CLI or CLR
newsgroups.)
Thanks,
Nick
debug assembly and not a release assembly? (The assembly is .NET 2.0)
I tried looking at a debug assembly in the bin/debug directory and then I
looked at the release assembly in the bin/release directory.
Both contained these lines in the manifest:
// --- The following custom attribute is added automatically, do not
uncomment -------
// .custom instance void
[mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype
[mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = (X X X X X
X X X)
Where the debug exe (X X X X X X X X) = ( 01 00 07 01 00 00 00 00 )
And the release exe (X X X X X X X X) = ( 01 00 02 00 00 00 00 00 )
So should I simply look for the 01 00 07 01 00 00 00 00 value to determine
if ANY given assembly is debuggable?
(Also, is there a difference between an exe and a dll?)
-----------
What is confusing me is a statement in another newsgroup where the author
states :
Through ILDASM, we can find that there is no Debuggable
attribute in the . . . assembly . . .
And from this he concludes that the give assembly is a Release assembly and
not a Debug assembly.
I'm not sure how to look for the Debuggable Attribute, other than what I
discovered on my own as stated above.
Could someone help me to understand this?
(Also, I'm not sure if I should post this here or, rather, in the CLI or CLR
newsgroups.)
Thanks,
Nick