diff --git a/source/com/intellij/debugger/engine/DebugProcessEvents.java b/source/com/intellij/debugger/engine/DebugProcessEvents.java index b2cbd3ec0820..1b808e0cbfcc 100644 --- a/source/com/intellij/debugger/engine/DebugProcessEvents.java +++ b/source/com/intellij/debugger/engine/DebugProcessEvents.java @@ -177,7 +177,9 @@ public class DebugProcessEvents extends DebugProcessImpl { EventQueue eventQueue = myVmProxy.eventQueue(); while (!isStopped()) { try { - LOG.debug("Listening events"); + if (LOG.isDebugEnabled()) { + LOG.debug("Listening events"); + } final EventSet eventSet = eventQueue.remove(); if (LOG.isDebugEnabled()) { diff --git a/source/com/intellij/debugger/engine/DebuggerManagerThreadImpl.java b/source/com/intellij/debugger/engine/DebuggerManagerThreadImpl.java index 4bfae3b84dc2..94a4c1adb48f 100644 --- a/source/com/intellij/debugger/engine/DebuggerManagerThreadImpl.java +++ b/source/com/intellij/debugger/engine/DebuggerManagerThreadImpl.java @@ -199,7 +199,9 @@ public class DebuggerManagerThreadImpl extends InvokeAndWaitThread suspendingContexts = SuspendManagerUtil.getSuspendingContexts(suspendManager, myDebuggerContext.getThreadProxy()); - - if(suspendingContexts.isEmpty()) { + final SuspendManager suspendManager = myDebuggerContext.getDebugProcess().getSuspendManager(); + final boolean isSuspended = suspendManager.isSuspended(myDebuggerContext.getThreadProxy()); + if(isSuspended) { + if (LOG.isDebugEnabled()) { + LOG.debug("Context thread " + getSuspendContext().getThread()); + LOG.debug("Debug thread" + myDebuggerContext.getThreadProxy()); + } + threadAction(); + } + else { SuspendContextImpl threadContext = SuspendManagerUtil.findContextByThread(suspendManager, myDebuggerContext.getThreadProxy()); if(threadContext != null) { SuspendManagerUtil.postponeCommand(threadContext, this); @@ -42,11 +48,6 @@ public abstract class DebuggerContextCommandImpl extends SuspendContextCommandIm notifyCancelled(); } } - else { - LOG.debug("Context thread " + getSuspendContext().getThread()); - LOG.debug("Debug thread" + myDebuggerContext.getThreadProxy()); - threadAction(); - } } abstract public void threadAction (); diff --git a/source/com/intellij/debugger/impl/EventQueue.java b/source/com/intellij/debugger/impl/EventQueue.java index bfe83dc98f8e..2efa6f0ec5b3 100644 --- a/source/com/intellij/debugger/impl/EventQueue.java +++ b/source/com/intellij/debugger/impl/EventQueue.java @@ -40,7 +40,9 @@ public class EventQueue { } public void close(){ - LOG.debug("events closed"); + if (LOG.isDebugEnabled()) { + LOG.debug("events closed"); + } myIsClosed = true; synchronized(myEvents) { myEvents.notifyAll(); diff --git a/source/com/intellij/debugger/impl/InvokeThread.java b/source/com/intellij/debugger/impl/InvokeThread.java index 982a23500fdb..bf29519c59df 100644 --- a/source/com/intellij/debugger/impl/InvokeThread.java +++ b/source/com/intellij/debugger/impl/InvokeThread.java @@ -118,7 +118,9 @@ public abstract class InvokeThread { protected void switchToThread(WorkerThread newWorkerThread) { LOG.assertTrue(Thread.currentThread() instanceof WorkerThread); myWorkerThread = newWorkerThread; - LOG.debug("Closing " + Thread.currentThread() + " new thread = " + newWorkerThread); + if (LOG.isDebugEnabled()) { + LOG.debug("Closing " + Thread.currentThread() + " new thread = " + newWorkerThread); + } Thread.currentThread().interrupt(); } @@ -128,6 +130,8 @@ public abstract class InvokeThread { public void close() { myEvents.close(); - LOG.debug("Closing evaluation"); + if (LOG.isDebugEnabled()) { + LOG.debug("Closing evaluation"); + } } } diff --git a/source/com/intellij/debugger/jdi/VirtualMachineProxyImpl.java b/source/com/intellij/debugger/jdi/VirtualMachineProxyImpl.java index 2487152929fb..e7e365d9efcd 100644 --- a/source/com/intellij/debugger/jdi/VirtualMachineProxyImpl.java +++ b/source/com/intellij/debugger/jdi/VirtualMachineProxyImpl.java @@ -109,9 +109,13 @@ public class VirtualMachineProxyImpl implements JdiTimer, VirtualMachineProxy { public void resume() { DebuggerManagerThreadImpl.assertIsManagerThread(); clearCaches(); - LOG.debug("before resume VM"); + if (LOG.isDebugEnabled()) { + LOG.debug("before resume VM"); + } myVirtualMachine.resume(); - LOG.debug("VM resumed"); + if (LOG.isDebugEnabled()) { + LOG.debug("VM resumed"); + } //logThreads(); } diff --git a/source/com/intellij/debugger/ui/impl/FramePanel.java b/source/com/intellij/debugger/ui/impl/FramePanel.java index ab562292b730..9195f9c94a23 100644 --- a/source/com/intellij/debugger/ui/impl/FramePanel.java +++ b/source/com/intellij/debugger/ui/impl/FramePanel.java @@ -173,15 +173,9 @@ public class FramePanel extends DebuggerPanel implements DataProvider{ } private class RefreshFramePanelCommand extends DebuggerContextCommandImpl { - private final DebuggerContextImpl myDebuggerContext; public RefreshFramePanelCommand() { super(getContext()); - myDebuggerContext = getContext(); - } - - public DebuggerContextImpl getDebuggerContext() { - return myDebuggerContext; } private java.util.List getThreadList() { diff --git a/source/com/intellij/debugger/ui/impl/watch/DebuggerTree.java b/source/com/intellij/debugger/ui/impl/watch/DebuggerTree.java index a43e59decfb0..83c3e441e746 100644 --- a/source/com/intellij/debugger/ui/impl/watch/DebuggerTree.java +++ b/source/com/intellij/debugger/ui/impl/watch/DebuggerTree.java @@ -320,10 +320,6 @@ public abstract class DebuggerTree extends DebuggerTreeBase implements DataProvi myDebuggerContext = context; } - public DebuggerContextImpl getDebuggerContext() { - return myDebuggerContext; - } - public void threadAction() { } @@ -532,7 +528,7 @@ public abstract class DebuggerTree extends DebuggerTreeBase implements DataProvi try { StackFrameDescriptorImpl stackDescriptor = (StackFrameDescriptorImpl)getNode().getDescriptor(); StackFrameProxyImpl frame = stackDescriptor.getStackFrame(); - if(!getDebuggerContext().getDebugProcess().getSuspendManager().isSuspended(frame.threadProxy())) return; + //if(!getDebuggerContext().getDebugProcess().getSuspendManager().isSuspended(frame.threadProxy())) return; LOG.assertTrue(frame.threadProxy().isSuspended()); @@ -575,7 +571,7 @@ public abstract class DebuggerTree extends DebuggerTreeBase implements DataProvi public void threadAction() { ThreadDescriptorImpl threadDescriptor = ((ThreadDescriptorImpl)getNode().getDescriptor()); ThreadReferenceProxyImpl threadProxy = threadDescriptor.getThreadReference(); - if (!threadProxy.isCollected() && getDebuggerContext().getDebugProcess().getSuspendManager().isSuspended(threadProxy)) { + if (!threadProxy.isCollected() /*&& getDebuggerContext().getDebugProcess().getSuspendManager().isSuspended(threadProxy)*/) { int status = threadProxy.status(); if (!(status == ThreadReference.THREAD_STATUS_UNKNOWN) && !(status == ThreadReference.THREAD_STATUS_NOT_STARTED) &&