mirror of
https://github.com/par274/sharpemu.git
synced 2026-08-28 12:20:43 +08:00
Add live debugger frontend and mutex stall recovery (#383)
This commit is contained in:
@@ -68,6 +68,7 @@ public sealed class SharpEmuRuntime : ISharpEmuRuntime
|
||||
CpuEngine = cpuExecutionOptions.CpuEngine,
|
||||
StrictDynlibResolution = cpuExecutionOptions.StrictDynlibResolution,
|
||||
ImportTraceLimit = Math.Max(0, cpuExecutionOptions.ImportTraceLimit),
|
||||
DebugHook = cpuExecutionOptions.DebugHook,
|
||||
};
|
||||
_fileSystem = fileSystem ?? new PhysicalFileSystem();
|
||||
}
|
||||
@@ -79,6 +80,7 @@ public sealed class SharpEmuRuntime : ISharpEmuRuntime
|
||||
CpuEngine = options.CpuEngine,
|
||||
StrictDynlibResolution = options.StrictDynlibResolution,
|
||||
ImportTraceLimit = Math.Max(0, options.ImportTraceLimit),
|
||||
DebugHook = options.DebugHook,
|
||||
};
|
||||
var moduleManager = new ModuleManager();
|
||||
// The compile-time generated registry (SharpEmu.SourceGenerators) is the sole
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
namespace SharpEmu.Core.Runtime;
|
||||
|
||||
using SharpEmu.Core.Cpu;
|
||||
using SharpEmu.Core.Cpu.Debugging;
|
||||
|
||||
public readonly struct SharpEmuRuntimeOptions
|
||||
{
|
||||
@@ -12,4 +13,11 @@ public readonly struct SharpEmuRuntimeOptions
|
||||
public bool StrictDynlibResolution { get; init; }
|
||||
|
||||
public int ImportTraceLimit { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// An optional debugger to attach to guest execution. Flows through to
|
||||
/// <see cref="CpuExecutionOptions.DebugHook"/>. Null (the default) runs with
|
||||
/// no debugger attached.
|
||||
/// </summary>
|
||||
public ICpuDebugHook? DebugHook { get; init; }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user