Quellcode durchsuchen

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

Thomas Guillemard vor 7 Jahren
Ursprung
Commit
65c67bb4a5
1 geänderte Dateien mit 10 neuen und 2 gelöschten Zeilen
  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)