^[OAasgard@gondor:debugger$ mdb -run ./test/src/TestSharedGenerics1.exe Mono Debugger Starting program: ./test/src/TestSharedGenerics1.exe Thread @1 stopped at #0: 0x4080e38e in Martin.Baulig.GenericTest.Main()+0xe at /work/asgard/debugger/test/src/TestSharedGenerics1.cs:76. 76 Foo x = new Foo (); // @MDB LINE: main (mdb) b 68 Breakpoint 4 at Martin.Baulig.Foo.Hello():68 (mdb) c Martin.Baulig.X Martin.Baulig.Test`1[Martin.Baulig.X] SomeStruct (11:Martin.Baulig.X) Thread @1 hit breakpoint 4 at #0: 0x40810af0 in Martin.Baulig.Foo.Hello()+0xc0 at /work/asgard/debugger/test/src/TestSharedGenerics1.cs:68. 68 return true; // @MDB BREAKPOINT: foo hello (mdb) p a GENERIC PARAM GET OBJECT: 0x7fcc3158bab0 0x00990af8 0x0098b390 GENERIC PARAM GET OBJECT #1: Mono.Debugger.Languages.Mono.MonoClassType [Martin.Baulig.X] (Martin.Baulig.SomeStruct`1) { A = 11, Data = (Martin.Baulig.X) 0x7fcc3158bab0 } (mdb) p Data GENERIC PARAM GET OBJECT: 0x7fcc3158bab0 0x00990af8 0x0098b390 GENERIC PARAM GET OBJECT #1: Mono.Debugger.Languages.Mono.MonoClassType [Martin.Baulig.X] (Martin.Baulig.X) { A = 5 } (mdb) p Test GENERIC PARAM GET OBJECT: 0x7fcc3158bab0 0x00990af8 0x0098b390 GENERIC PARAM GET OBJECT #1: Mono.Debugger.Languages.Mono.MonoClassType [Martin.Baulig.X] (Martin.Baulig.Test`1) { Data = (Martin.Baulig.X) 0x7fcc3158bab0 } (mdb) p a GENERIC PARAM GET OBJECT: 0x7fcc3158bab0 0x00990af8 0x0098b390 GENERIC PARAM GET OBJECT #1: Mono.Debugger.Languages.Mono.MonoClassType [Martin.Baulig.X] (Martin.Baulig.SomeStruct`1) { A = 11, Data = (Martin.Baulig.X) 0x7fcc3158bab0 } (mdb) c Martin.Baulig.Y Martin.Baulig.Test`1[Martin.Baulig.Y]Thread @1 hit breakpoint 4 at #0: 0x40810af0 in Martin.Baulig.Foo.Hello()+0xc0 at /work/asgard/debugger/test/src/TestSharedGenerics1.cs:68. 68 return true; // @MDB BREAKPOINT: foo hello SomeStruct (11:Martin.Baulig.Y) (mdb) frame #0: 0x40810af0 in Martin.Baulig.Foo.Hello()+0xc0 at /work/asgard/debugger/test/src/TestSharedGenerics1.cs:68 68 return true; // @MDB BREAKPOINT: foo hello (mdb) p this (Martin.Baulig.Foo`1) { Data = (Martin.Baulig.Y) 0x7fcc3158ba50, Test = (Martin.Baulig.Test`1) 0x7fcc31519fc0 } (mdb) p a GENERIC PARAM GET OBJECT: 0x7fcc3158ba50 0x00990d00 0x0098b510 GENERIC PARAM GET OBJECT #1: Mono.Debugger.Languages.Mono.MonoClassType [Martin.Baulig.Y] (Martin.Baulig.SomeStruct`1) { A = 11, Data = (Martin.Baulig.Y) 0x7fcc3158ba50 } (mdb) p Data GENERIC PARAM GET OBJECT: 0x7fcc3158ba50 0x00990d00 0x0098b510 GENERIC PARAM GET OBJECT #1: Mono.Debugger.Languages.Mono.MonoClassType [Martin.Baulig.Y] (Martin.Baulig.Y) { B = 9 } (mdb) p Test GENERIC PARAM GET OBJECT: 0x7fcc3158ba50 0x00990d00 0x0098b510 GENERIC PARAM GET OBJECT #1: Mono.Debugger.Languages.Mono.MonoClassType [Martin.Baulig.Y] (Martin.Baulig.Test`1) { Data = (Martin.Baulig.Y) 0x7fcc3158ba50 } (mdb) c Thread @1 hit breakpoint 4 at #0: 0x40810af0 in Martin.Baulig.Foo.Hello()+0xc0 at /work/asgard/debugger/test/src/TestSharedGenerics1.cs:68. 68 return true; // @MDB BREAKPOINT: foo hello (mdb) Martin.Baulig.Test`1[System.Int32] Martin.Baulig.Test`1[Martin.Baulig.Test`1[System.Int32]] SomeStruct (11:Martin.Baulig.Test`1[System.Int32]) frame #0: 0x40810af0 in Martin.Baulig.Foo.Hello()+0xc0 at /work/asgard/debugger/test/src/TestSharedGenerics1.cs:68 68 return true; // @MDB BREAKPOINT: foo hello (mdb) p a GENERIC PARAM GET OBJECT: 0x7fcc3158b9d8 0x009b1350 0x0098e150 GENERIC PARAM GET OBJECT #1: Mono.Debugger.Languages.Mono.MonoGenericInstanceType [Martin.Baulig.Test`1] (Martin.Baulig.SomeStruct`1) { A = 11, Data = (Martin.Baulig.Test`1) 0x7fcc3158b9d8 } (mdb) p Data GENERIC PARAM GET OBJECT: 0x7fcc3158b9d8 0x009b1350 0x0098e150 GENERIC PARAM GET OBJECT #1: Mono.Debugger.Languages.Mono.MonoGenericInstanceType [Martin.Baulig.Test`1] (Martin.Baulig.Test`1) { Data = 512 } (mdb) p Test GENERIC PARAM GET OBJECT: 0x7fcc3158b9d8 0x009b1350 0x0098e150 GENERIC PARAM GET OBJECT #1: Mono.Debugger.Languages.Mono.MonoGenericInstanceType [Martin.Baulig.Test`1] (Martin.Baulig.Test`1) { Data = (Martin.Baulig.Test`1) 0x7fcc3158b9d8 } (mdb)