X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.plugin.core%2Fsrc%2Fnet%2Fmograsim%2Fplugin%2Flaunch%2FMachineDebugTarget.java;h=ad0441bfdae1be838cedf03df8a735f408c1ec17;hb=925846da463235961d749c2bd4615e0cb83f4f24;hp=03fe7fdd5424671571eda8ae51ecc108ab065081;hpb=9f74e2c4e92f314a16ff0bd3a14d4661e655949e;p=Mograsim.git diff --git a/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/launch/MachineDebugTarget.java b/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/launch/MachineDebugTarget.java index 03fe7fdd..ad0441bf 100644 --- a/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/launch/MachineDebugTarget.java +++ b/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/launch/MachineDebugTarget.java @@ -31,9 +31,12 @@ import net.mograsim.plugin.launch.MachineLaunchConfigType.MachineLaunchParams; public class MachineDebugTarget extends PlatformObject implements IDebugTarget, IMemoryBlockRetrievalExtension { + private final static boolean USE_PSEUDO_THREAD = true; + private final ILaunch launch; private final Machine machine; private final LogicExecuter exec; + private final MachineThread thread; private boolean running; @@ -55,6 +58,9 @@ public class MachineDebugTarget extends PlatformObject implements IDebugTarget, getLaunch().addDebugTarget(this); fireCreationEvent(); + + // create after creating ourself + this.thread = USE_PSEUDO_THREAD ? new MachineThread(this) : null; } public Machine getMachine() @@ -241,13 +247,13 @@ public class MachineDebugTarget extends PlatformObject implements IDebugTarget, @Override public boolean hasThreads() throws DebugException { - return false; + return USE_PSEUDO_THREAD; } @Override public IThread[] getThreads() throws DebugException { - return new IThread[0]; + return thread == null ? new IThread[0] : new IThread[] { thread }; } public void addExecutionSpeedListener(Consumer executionSpeedListener)