Compare commits

..

No commits in common. "eb41143988ddc313fabf4ca0fd0d6b0a2716fe2a" and "c2d84ffdde36d46e3b3352676f6bc9567235bd78" have entirely different histories.

6 changed files with 7 additions and 18 deletions

View file

@ -3,6 +3,7 @@ using ARMeilleure.State;
using ARMeilleure.Translation;
using System;
using System.Runtime.InteropServices;
using System.Threading;
using ExecutionContext = ARMeilleure.State.ExecutionContext;
namespace ARMeilleure.Instructions

View file

@ -1,4 +1,6 @@
using ARMeilleure.Memory;
using System.Collections.Concurrent;
using System.Diagnostics;
using System.Threading;
namespace ARMeilleure.State

View file

@ -1,5 +1,6 @@
using ARMeilleure.Memory;
using ARMeilleure.State;
using System.Threading;
using ExecutionContext = ARMeilleure.State.ExecutionContext;
namespace Ryujinx.Cpu.Jit

View file

@ -47,7 +47,7 @@ namespace Ryujinx.HLE.Debugger
MessageHandlerThread.Start();
}
private IDebuggableProcess DebugProcess => Device.System?.DebugGetApplicationProcess();
private IDebuggableProcess DebugProcess => Device.System.DebugGetApplicationProcess();
private KThread[] GetThreads() => DebugProcess.GetThreadUids().Select(x => DebugProcess.GetThread(x)).ToArray();
private bool IsProcessAarch32 => DebugProcess.GetThread(gThread.Value).Context.IsAarch32;
private KernelContext KernelContext => Device.System.KernelContext;
@ -761,20 +761,6 @@ namespace Ryujinx.HLE.Debugger
{
return;
}
// If the user connects before the application is running, wait for the application to start.
int retries = 10;
while (DebugProcess == null && retries-- > 0)
{
Thread.Sleep(200);
}
if (DebugProcess == null)
{
Logger.Warning?.Print(LogClass.GdbStub, "Application is not running, cannot accept GDB client connection");
ClientSocket.Close();
continue;
}
ClientSocket.NoDelay = true;
ReadStream = new NetworkStream(ClientSocket, System.IO.FileAccess.Read);
WriteStream = new NetworkStream(ClientSocket, System.IO.FileAccess.Write);

View file

@ -689,7 +689,6 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
{
mainThread.Suspend(ThreadSchedState.ThreadPauseFlag);
debugState = (int)DebugState.Stopped;
Logger.Notice.Print(LogClass.Kernel, $"Application is suspended on start for debugging.");
}
result = mainThread.Start();
@ -743,7 +742,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Process
ExceptionCallback breakCallback = null;
ExceptionCallbackNoArgs stepCallback = null;
if (KernelContext.Device.Configuration.EnableGdbStub && KernelContext.Device.Debugger != null)
if (KernelContext.Device.Configuration.EnableGdbStub)
{
breakCallback = KernelContext.Device.Debugger.BreakHandler;
stepCallback = KernelContext.Device.Debugger.StepHandler;

View file

@ -176,7 +176,7 @@ namespace Ryujinx.HLE
AudioDeviceDriver.Dispose();
FileSystem.Dispose();
Memory.Dispose();
Debugger?.Dispose();
Debugger.Dispose();
TitleIDs.CurrentApplication.Value = null;
Shared = null;