[Mono-bugs] [Bug 704702] New: pdb2mdb.exe fails on methods containing 'yield'

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Fri Jul 8 14:05:45 EDT 2011


https://bugzilla.novell.com/show_bug.cgi?id=704702

https://bugzilla.novell.com/show_bug.cgi?id=704702#c0


           Summary: pdb2mdb.exe fails on methods containing 'yield'
    Classification: Mono
           Product: Mono: Debugger
           Version: 2.6.x
          Platform: 64bit
        OS/Version: Windows 7
            Status: NEW
          Severity: Critical
          Priority: P5 - None
         Component: backend
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: johannes.verwey at wbgames.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


User-Agent:       Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64;
Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729;
Media Center PC 6.0; .NET4.0C; .NET4.0E)

pdb2mdb.exe cannot convert DLLs that contains C# classes with methods that
'yield'.


Reproducible: Always

Steps to Reproduce:
1. Create a DLL with the following class in it:
    public class MyClass
    {
        public IEnumerator MyMethod()
        {
            yield return null;
        }

        // This method is also needed to make pdb2mdb crash. Without it,
everything seems fine...
        public int MyOtherMethod()
        {
            return 1;
        }
    }
2.Compile the DLL
3. run pdb2mdb.exe MyDll.dll
Actual Results:  
D:\temp\BugReportPdb2Mdb\bin\Debug>pdb2mdb.exe BugReportPdb2Mdb.dll
Fatal error:
System.ArgumentNullException: Value cannot be null.
Parameter name: source
   at System.Linq.Enumerable.Where[TSource](IEnumerable`1 source, Func`2
predica
te)
   at Pdb2Mdb.Converter.GetSourceFile(MonoSymbolWriter mdb, PdbFunction
function
)
   at Pdb2Mdb.Converter.ConvertFunction(PdbFunction function)
   at Pdb2Mdb.Converter.Convert(AssemblyDefinition assembly, IEnumerable`1
funct
ions, MonoSymbolWriter mdb)
   at Pdb2Mdb.Driver.Convert(AssemblyDefinition assembly, Stream pdb,
MonoSymbol
Writer mdb)

Expected Results:  
Expected an mdb file to be created to replace the pdb file.

We use the version of pdb2mdb.exe that ships with Unity3D 3.3. We need to use
this tool in order to debug external DLLs that we import into Unity3D.

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the mono-bugs mailing list