public interface XDebugSession extends AbstractDebuggerSession
XDebuggerManager.startSession(com.intellij.execution.runners.ExecutionEnvironment, com.intellij.xdebugger.XDebugProcessStarter)
or
XDebuggerManager.startSessionAndShowTab(java.lang.String, com.intellij.execution.ui.RunContentDescriptor, com.intellij.xdebugger.XDebugProcessStarter)
method is called. It isn't supposed to be implemented by a plugin.
Instance of this class can be obtained from XDebugProcess.getSession()
method and used to control debugging processModifier and Type | Field and Description |
---|---|
static DataKey<XDebugSession> |
DATA_KEY |
Modifier and Type | Method and Description |
---|---|
void |
addSessionListener(XDebugSessionListener listener) |
void |
addSessionListener(XDebugSessionListener listener,
Disposable parentDisposable) |
boolean |
areBreakpointsMuted() |
boolean |
breakpointReached(XBreakpoint<?> breakpoint,
java.lang.String evaluatedLogExpression,
XSuspendContext suspendContext)
Call this method when a breakpoint is reached if its condition (
XBreakpoint.getCondition() ) evaluates to true . |
boolean |
breakpointReached(XBreakpoint<?> breakpoint,
XSuspendContext suspendContext)
Deprecated.
|
void |
forceStepInto() |
ConsoleView |
getConsoleView() |
XSourcePosition |
getCurrentPosition()
Position from the current frame
|
XStackFrame |
getCurrentStackFrame() |
XDebugProcess |
getDebugProcess() |
Project |
getProject() |
RunContentDescriptor |
getRunContentDescriptor() |
RunProfile |
getRunProfile() |
java.lang.String |
getSessionName() |
XSuspendContext |
getSuspendContext() |
XSourcePosition |
getTopFramePosition()
Position from the top frame
|
RunnerLayoutUi |
getUI() |
void |
initBreakpoints() |
boolean |
isSuspended() |
void |
pause() |
void |
positionReached(XSuspendContext suspendContext)
Call this method when position is reached (e.g.
|
void |
rebuildViews() |
void |
removeSessionListener(XDebugSessionListener listener) |
void |
reportError(java.lang.String message) |
void |
reportMessage(java.lang.String message,
MessageType type) |
void |
reportMessage(java.lang.String message,
MessageType type,
javax.swing.event.HyperlinkListener listener) |
void |
resume() |
void |
runToPosition(XSourcePosition position,
boolean ignoreBreakpoints) |
void |
sessionResumed()
Call this method when session resumed because of some external event, e.g.
|
void |
setBreakpointInvalid(XLineBreakpoint<?> breakpoint,
java.lang.String errorMessage)
Marks the provide breakpoint as invalid in the current session
|
void |
setBreakpointMuted(boolean muted) |
void |
setBreakpointVerified(XLineBreakpoint<?> breakpoint)
Marks the provide breakpoint as verified in the current session
|
default void |
setCurrentStackFrame(XExecutionStack executionStack,
XStackFrame frame) |
void |
setCurrentStackFrame(XExecutionStack executionStack,
XStackFrame frame,
boolean isTopFrame) |
void |
setPauseActionSupported(boolean isSupported) |
void |
showExecutionPoint() |
<V extends XSmartStepIntoVariant> |
smartStepInto(XSmartStepIntoHandler<V> handler,
V variant) |
void |
stepInto() |
void |
stepOut() |
void |
stepOver(boolean ignoreBreakpoints) |
void |
stop() |
void |
updateBreakpointPresentation(XLineBreakpoint<?> breakpoint,
javax.swing.Icon icon,
java.lang.String errorMessage)
Call this method to setup custom icon and/or error message (it will be shown in tooltip) for breakpoint.
|
void |
updateExecutionPosition() |
isPaused, isStopped
static final DataKey<XDebugSession> DATA_KEY
Project getProject()
XDebugProcess getDebugProcess()
boolean isSuspended()
XStackFrame getCurrentStackFrame()
XSuspendContext getSuspendContext()
XSourcePosition getCurrentPosition()
XSourcePosition getTopFramePosition()
void stepOver(boolean ignoreBreakpoints)
void stepInto()
void stepOut()
void forceStepInto()
void runToPosition(XSourcePosition position, boolean ignoreBreakpoints)
void pause()
void resume()
void showExecutionPoint()
void setCurrentStackFrame(XExecutionStack executionStack, XStackFrame frame, boolean isTopFrame)
default void setCurrentStackFrame(XExecutionStack executionStack, XStackFrame frame)
void updateBreakpointPresentation(XLineBreakpoint<?> breakpoint, javax.swing.Icon icon, java.lang.String errorMessage)
setBreakpointVerified(XLineBreakpoint)
or setBreakpointInvalid(XLineBreakpoint, String)
instead.breakpoint
- breakpointicon
- icon (null
if default icon should be used). You can use icons from AllIcons.Debugger
errorMessage
- an error message if breakpoint isn't successfully registeredsetBreakpointVerified(XLineBreakpoint)~
,
setBreakpointInvalid(XLineBreakpoint, String)
void setBreakpointVerified(XLineBreakpoint<?> breakpoint)
void setBreakpointInvalid(XLineBreakpoint<?> breakpoint, java.lang.String errorMessage)
boolean breakpointReached(XBreakpoint<?> breakpoint, java.lang.String evaluatedLogExpression, XSuspendContext suspendContext)
XBreakpoint.getCondition()
) evaluates to true
.
The underlying debugging process should be suspended only if the method returns true
. breakpoint
- reached breakpointevaluatedLogExpression
- value of XBreakpoint.getLogExpression()
evaluated in the current contextsuspendContext
- contexttrue
if the debug process should be suspended@Deprecated boolean breakpointReached(XBreakpoint<?> breakpoint, XSuspendContext suspendContext)
breakpointReached(XBreakpoint, String, XSuspendContext)
insteadvoid positionReached(XSuspendContext suspendContext)
suspendContext
- contextvoid sessionResumed()
void stop()
void setBreakpointMuted(boolean muted)
boolean areBreakpointsMuted()
void addSessionListener(XDebugSessionListener listener, Disposable parentDisposable)
void addSessionListener(XDebugSessionListener listener)
void removeSessionListener(XDebugSessionListener listener)
void reportError(java.lang.String message)
void reportMessage(java.lang.String message, MessageType type)
void reportMessage(java.lang.String message, MessageType type, javax.swing.event.HyperlinkListener listener)
java.lang.String getSessionName()
RunContentDescriptor getRunContentDescriptor()
RunProfile getRunProfile()
void setPauseActionSupported(boolean isSupported)
void rebuildViews()
<V extends XSmartStepIntoVariant> void smartStepInto(XSmartStepIntoHandler<V> handler, V variant)
void updateExecutionPosition()
void initBreakpoints()
ConsoleView getConsoleView()
RunnerLayoutUi getUI()