From e2ceeeceea2ec2e3a83abbb4d73fcbcb8979734a Mon Sep 17 00:00:00 2001 From: Andrey Sokolov Date: Tue, 13 May 2014 15:13:59 +0400 Subject: [PATCH] WI-4722 Debugger: Ability to skip certain functions with step into. --- .../src/com/intellij/xdebugger/XDebugProcess.java | 10 ++++++++++ .../com/intellij/xdebugger/impl/XDebugSessionImpl.java | 5 ++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/platform/xdebugger-api/src/com/intellij/xdebugger/XDebugProcess.java b/platform/xdebugger-api/src/com/intellij/xdebugger/XDebugProcess.java index 4f205e3f2eed..9cfe6e4e7605 100644 --- a/platform/xdebugger-api/src/com/intellij/xdebugger/XDebugProcess.java +++ b/platform/xdebugger-api/src/com/intellij/xdebugger/XDebugProcess.java @@ -94,6 +94,16 @@ public abstract class XDebugProcess { */ public abstract void startStepOver(); + /** + * Steps into suppressed call + * + * Resume execution and call {@link XDebugSession#positionReached} + * when next line is reached. + * Do not call this method directly. Use {@link XDebugSession#forceStepInto} instead + */ + public void startForceStepInto(){ + startStepInto(); + } /** * Resume execution and call {@link XDebugSession#positionReached} * when next line is reached. diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebugSessionImpl.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebugSessionImpl.java index ae4364bbb6a4..bd5c15ef3c1f 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebugSessionImpl.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebugSessionImpl.java @@ -458,7 +458,10 @@ public class XDebugSessionImpl implements XDebugSession { @Override public void forceStepInto() { - stepInto(); + if (!myDebugProcess.checkCanPerformCommands()) return; + + doResume(); + myDebugProcess.startForceStepInto(); } @Override