Pārlūkot izejas kodu

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

Thomas Guillemard 7 gadi atpakaļ
vecāks
revīzija
65c67bb4a5
1 mainītis faili ar 10 papildinājumiem un 2 dzēšanām
  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 Unknown = (long)ThreadState.X1;
             long Info    = (long)ThreadState.X2;
             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)
         private void SvcOutputDebugString(AThreadState ThreadState)