protected void stepOver() { XDebugSession currentSession = XDebuggerManager.getInstance(getProject()).getCurrentSession(); Assert.assertTrue(currentSession.isSuspended()); Assert.assertEquals(0, myPausedSemaphore.availablePermits()); currentSession.stepOver(false); }
protected void smartStepInto(String funcName) { XDebugSession currentSession = XDebuggerManager.getInstance(getProject()).getCurrentSession(); Assert.assertTrue(currentSession.isSuspended()); Assert.assertEquals(0, myPausedSemaphore.availablePermits()); myDebugProcess.startSmartStepInto(funcName); }
protected void runToLine(int line) throws InvocationTargetException, InterruptedException { XDebugSession currentSession = XDebuggerManager.getInstance(getProject()).getCurrentSession(); XSourcePosition position = currentSession.getCurrentPosition(); currentSession.runToPosition( XDebuggerUtil.getInstance().createPosition(position.getFile(), line), false); waitForPause(); }
protected void stepIntoMyCode() { XDebugSession currentSession = XDebuggerManager.getInstance(getProject()).getCurrentSession(); Assert.assertTrue(currentSession.isSuspended()); Assert.assertEquals(0, myPausedSemaphore.availablePermits()); PyDebugProcess debugProcess = (PyDebugProcess) currentSession.getDebugProcess(); debugProcess.startStepIntoMyCode(); }
@Nullable private static DebugProcessImpl getCurrentDebugProcess(@Nullable Project project) { if (project != null) { XDebugSession session = XDebuggerManager.getInstance(project).getCurrentSession(); if (session != null) { XDebugProcess process = session.getDebugProcess(); if (process instanceof JavaDebugProcess) { return ((JavaDebugProcess) process).getDebuggerSession().getProcess(); } } } return null; }