[Mono-bugs] [Bug 541052] Inspecting empty value type variable shows null value

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Mon Oct 12 00:44:42 EDT 2009


User martin at novell.com added comment

Martin Baulig <martin at novell.com> changed:

           What    |Removed                     |Added
             Status|NEW                         |RESOLVED
         Resolution|                            |FEATURE
            Summary|Inspecting value type       |Inspecting empty value type
                   |variable shows null value   |variable shows null value

--- Comment #1 from Martin Baulig <martin at novell.com>  2009-10-11 22:44:41 MDT ---
I'd call this a feature, not a bug - and there's also nothing I can do about
this in the debugger.

Since the size of the struct is zero, the JIT doesn't allocate any storage for
it.  The same applies to the static field - it's a value type of zero size, so
there's also no storage allocated for it, and the JIT also doesn't call any
kind of .cctor for it.

Things change when you add a field to it:

asgard at isengard:debugger$ cat test/V.cs
using System;

struct S
    public int a;
    public static S Null = new S ();

class Program
    static void Main (string[] args)
        S s = new S ();
        s.a = 9;
        Environment.Exit (1);
asgard at isengard:debugger$ mdb -run ./test/V.exe
Mono Debugger
Starting program: ./test/V.exe 
Thread @1 stopped at #0: 0x40e8a278 in Program.Main(string[])+0x28 at
  14         s.a = 9;
(mdb) p s
(S) { a = 0 }
(mdb) p S.Null
(S) { a = 0 }
(mdb) n
Thread @1 stopped at #0: 0x40e8a28b in Program.Main(string[])+0x3b at
  15         Environment.Exit (1);
(mdb) p s
(S) { a = 9 }
(mdb) p S.Null
(S) { a = 0 }

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

More information about the mono-bugs mailing list