Explorar el Código

Break: don't crash when bit 31 is set (#444)

Thomas Guillemard hace 7 años
padre
commit
65c67bb4a5
Se han modificado 1 ficheros con 10 adiciones y 2 borrados
  1. 10 2
      Ryujinx.HLE/HOS/Kernel/SvcSystem.cs

+ 10 - 2
Ryujinx.HLE/HOS/Kernel/SvcSystem.cs

@@ -247,9 +247,17 @@ namespace Ryujinx.HLE.HOS.Kernel
             long Unknown = (long)ThreadState.X1;
             long Info    = (long)ThreadState.X2;
 
-            Process.PrintStackTrace(ThreadState);
+            if ((Reason & (1 << 31)) == 0)
+            {
+                Process.PrintStackTrace(ThreadState);
 
-            throw new GuestBrokeExecutionException();
+                throw new GuestBrokeExecutionException();
+            }
+            else
+            {
+                Device.Log.PrintInfo(LogClass.KernelSvc, "Debugger triggered");
+                Process.PrintStackTrace(ThreadState);
+            }
         }
 
         private void SvcOutputDebugString(AThreadState ThreadState)