[Mono.Debugger.Soft] Fixed StackFrame.Domain logic to not blow up
authorJeffrey Stedfast <jeff@xamarin.com>
Fri, 6 Feb 2015 22:24:20 +0000 (17:24 -0500)
committerJeffrey Stedfast <jeff@xamarin.com>
Fri, 6 Feb 2015 22:24:57 +0000 (17:24 -0500)
mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/StackFrame.cs

index 8549a93700afaf54b7b1e67d4e40a93a842729f5..f160c4a37a716890c6619877aaff762374e10395 100644 (file)
@@ -35,9 +35,17 @@ namespace Mono.Debugger.Soft
 
                public AppDomainMirror Domain {
                        get {
-                               vm.CheckProtocolVersion (2, 38);
-                               if (domain == null)
-                                       domain = vm.GetDomain (vm.conn.StackFrame_GetDomain (thread.Id, Id));
+                               if (domain == null) {
+                                       if (vm.Version.AtLeast (2, 38)) {
+                                               try {
+                                                       domain = vm.GetDomain (vm.conn.StackFrame_GetDomain (thread.Id, Id));
+                                               } catch (AbsentInformationException) {
+                                                       domain = Thread.Domain;
+                                               }
+                                       } else {
+                                               domain = Thread.Domain;
+                                       }
+                               }
 
                                return domain;
                        }