[Mono-dev] Compiling System.Web with CSC

Kornél Pál kornelpal at hotmail.com
Wed Sep 28 12:04:59 EDT 2005


MS ildasm is able to extract information from PDB files to IL code. If there
is a PDB file it includes variable names in IL code an with /linenum switch
it will emit line number information as well.

MS ilasm generates a PDB with /debug switch that will contain the names of
local variables and line numbers. And I think all the other usual symbols.


----- Original Message -----
From: "Eyal Alaluf" <eyala at mainsoft.com>
To: "Miguel de Icaza" <miguel at ximian.com>
Cc: <martin at ximian.com>; <mono-devel-list at lists.ximian.com>; "Philippe
Cohen" <philc at mainsoft.com>; "Noam Lampert" <noaml at mainsoft.com>
Sent: Wednesday, September 28, 2005 5:52 PM
Subject: Re: [Mono-dev] Compiling System.Web with CSC

> Hi, Miguel.
> The option of playing with ilasm/ildasm will mess out completely the debug
> information. PDB uses the tokens from the DLL to identify the class,
> method,
> etc. The tokens will be completely messed up by this exercise.
> I will look at the output of ildasm to analyze better the .Net 2.0
> dependencies
> to see if we can come up with some kind of hack for using the CSC 2.0
> compiler.
> Eyal.
> On Tue, 27 Sep 2005, Miguel de Icaza wrote:
>> Date: Tue, 27 Sep 2005 18:12:03 -0400
>> From: Miguel de Icaza <miguel at ximian.com>
>> To: Eyal Alaluf <eyala at mainsoft.com>
>> Cc: martin at ximian.com, Noam Lampert <noaml at mainsoft.com>,
>>     Philippe Cohen <philc at mainsoft.com>, mono-devel-list at lists.ximian.com
>> Subject: Re: [Mono-dev] Compiling System.Web with CSC
>> Hello,
>>> I think it is a bad idea, specially considering that it means that we
>>> have to write more and debug more code than we otherwise would.
>>> There is an easy solution that I mentioned before which is that we can
>>> add support to mcs to generate pdb files instead.
>>> MCS already uses the API to generate debugging information, the only
>>> difference is that it consumes a Mono-specific API instead of the
>>> cross-platform API.
>>> We did not use the cross-platform API in the past because we did not
>>> have information on how to use it, but now IronPython has code that
>>> shows how to use it.
>> Alternatively to upgrading mcs, you can use csc, and then do:
>> ildasm /out:output file.dll
>> sed script
>> ilasm output.il
>> Where the sed script would remove the couple of new keywords on ildasm
>> and replace the 2.x references with 1.x references.
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list

More information about the Mono-devel-list mailing list