[Mono-dev] Compiling System.Web with CSC

Eyal Alaluf eyala at mainsoft.com
Tue Oct 11 14:19:38 EDT 2005


I just actually need to check if there is a new version of DIA for .Net 2.0
PDBs. I saw the .Net 1.1 compilers crashing when they had 2.0 pdbs accessible
so I am just not sure about this. But the issue is certainly resolvable.

On Tue, 11 Oct 2005, Kornél Pál wrote:

> Date: Tue, 11 Oct 2005 19:49:22 +0200
> From: Kornél Pál <kornelpal at hotmail.com>
> To: Eyal Alaluf <eyala at mainsoft.com>
> Cc: martin at ximian.com, Noam Lampert <noaml at mainsoft.com>,
>     Miguel de Icaza <miguel at ximian.com>, Philippe Cohen <philc at mainsoft.com>,
>     mono-devel-list at lists.ximian.com
> Subject: Re: [Mono-dev] Compiling System.Web with CSC
> 
> Hi,
>
> I think the only solution to read PDB files is to use DIA. If you do so
> there is no difference between .NET 1.1. a .NET 2.0 PDB files as you can
> read the using the same interfaces methods. In other words your DIA base
> code should work with .NET 2.0 PDB files as well.
>
> Or do you use some other solution to read PDB files?
>
> Kornél
>
> ----- Original Message -----
> From: "Eyal Alaluf" <eyala at mainsoft.com>
> To: "Kornél Pál" <kornelpal at hotmail.com>
> Cc: <martin at ximian.com>; "Noam Lampert" <noaml at mainsoft.com>; "Miguel de
> Icaza" <miguel at ximian.com>; "Philippe Cohen" <philc at mainsoft.com>;
> <mono-devel-list at lists.ximian.com>
> Sent: Tuesday, October 11, 2005 7:34 PM
> Subject: Re: [Mono-dev] Compiling System.Web with CSC
>
>
>> Hi, all.
>> 
>> We prefer the solution where mcs is generating pdb files. This solution is
>> well aligned
>> with our strategy for the long term. In case the mcs/pdb project is not so
>> simple and
>> easy to implement soon, we need to examine the shorter term solutions.
>> 
>> Checking the approach of using .Net 2.0 compiler, I took a less hacky
>> approach where
>> I analyzed the assembly created by .Net 2.0 compiler (using ildasm) and
>> added to our
>> binary compiler the few new .Net 2.0 opcodes that were used. I will still
>> need to see
>> how to read the PDB files of MS .Net 2.0, but this should be feasible.
>> 
>> Eyal.
>> 
>> On Wed, 28 Sep 2005, Kornél Pál wrote:
>> 
>>> Date: Wed, 28 Sep 2005 18:04:59 +0200
>>> From: Kornél Pál <kornelpal at hotmail.com>
>>> To: Eyal Alaluf <eyala at mainsoft.com>, 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>
>>> Subject: Re: [Mono-dev] Compiling System.Web with CSC
>>> 
>>> Hi,
>>> 
>>> 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.
>>> 
>>> Kornél
>>> 
>>> ----- 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
>>>> 
>>> 
>>> 
>
>
> --------------------------------------------------------------------------------
>
>
>> _______________________________________________
>> 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