Search in sources :

Example 1 with BreakpointManager

use of com.intellij.debugger.ui.breakpoints.BreakpointManager in project intellij-community by JetBrains.

the class BreakpointsContextProvider method clearContext.

public void clearContext() {
    final BreakpointManager breakpointManager = ((DebuggerManagerEx) myDebuggerManager).getBreakpointManager();
    List<Breakpoint> breakpoints = breakpointManager.getBreakpoints();
    for (final Breakpoint breakpoint : breakpoints) {
        ApplicationManager.getApplication().runWriteAction(() -> breakpointManager.removeBreakpoint(breakpoint));
    }
}
Also used : Breakpoint(com.intellij.debugger.ui.breakpoints.Breakpoint) DebuggerManagerEx(com.intellij.debugger.DebuggerManagerEx) BreakpointManager(com.intellij.debugger.ui.breakpoints.BreakpointManager)

Example 2 with BreakpointManager

use of com.intellij.debugger.ui.breakpoints.BreakpointManager in project intellij-community by JetBrains.

the class DebugProcessImpl method createResumeCommand.

@NotNull
public ResumeCommand createResumeCommand(SuspendContextImpl suspendContext, final PrioritizedTask.Priority priority) {
    final BreakpointManager breakpointManager = DebuggerManagerEx.getInstanceEx(getProject()).getBreakpointManager();
    return new ResumeCommand(suspendContext) {

        @Override
        public void contextAction() {
            // clear the filter on resume
            breakpointManager.applyThreadFilter(DebugProcessImpl.this, null);
            if (myReturnValueWatcher != null) {
                myReturnValueWatcher.clear();
            }
            super.contextAction();
        }

        @Override
        public Priority getPriority() {
            return priority;
        }
    };
}
Also used : BreakpointManager(com.intellij.debugger.ui.breakpoints.BreakpointManager) NotNull(org.jetbrains.annotations.NotNull)

Example 3 with BreakpointManager

use of com.intellij.debugger.ui.breakpoints.BreakpointManager in project intellij-community by JetBrains.

the class ClassInstanceMethodFilter method setUpStepIntoBreakpoint.

static void setUpStepIntoBreakpoint(SuspendContextImpl context, @NotNull StepIntoBreakpoint breakpoint, RequestHint hint) {
    DebugProcessImpl debugProcess = context.getDebugProcess();
    BreakpointManager breakpointManager = DebuggerManagerEx.getInstanceEx(debugProcess.getProject()).getBreakpointManager();
    // clear the filter on resume
    breakpointManager.applyThreadFilter(debugProcess, null);
    breakpoint.setSuspendPolicy(context.getSuspendPolicy() == EventRequest.SUSPEND_EVENT_THREAD ? DebuggerSettings.SUSPEND_THREAD : DebuggerSettings.SUSPEND_ALL);
    breakpoint.createRequest(debugProcess);
    breakpoint.setRequestHint(hint);
    debugProcess.setRunToCursorBreakpoint(breakpoint);
}
Also used : BreakpointManager(com.intellij.debugger.ui.breakpoints.BreakpointManager)

Example 4 with BreakpointManager

use of com.intellij.debugger.ui.breakpoints.BreakpointManager in project intellij-community by JetBrains.

the class ToggleFieldBreakpointAction method update.

@Override
public void update(AnActionEvent event) {
    SourcePosition place = getPlace(event);
    boolean toEnable = place != null;
    Presentation presentation = event.getPresentation();
    if (ActionPlaces.PROJECT_VIEW_POPUP.equals(event.getPlace()) || ActionPlaces.STRUCTURE_VIEW_POPUP.equals(event.getPlace()) || ActionPlaces.FAVORITES_VIEW_POPUP.equals(event.getPlace())) {
        presentation.setVisible(toEnable);
    } else if (DebuggerAction.isContextView(event)) {
        presentation.setText(DebuggerBundle.message("action.add.field.watchpoint.text"));
        Project project = event.getData(CommonDataKeys.PROJECT);
        if (project != null && place != null) {
            Document document = PsiDocumentManager.getInstance(project).getDocument(place.getFile());
            if (document != null) {
                final int offset = place.getOffset();
                final BreakpointManager breakpointManager = (DebuggerManagerEx.getInstanceEx(project)).getBreakpointManager();
                final Breakpoint fieldBreakpoint = offset >= 0 ? breakpointManager.findBreakpoint(document, offset, FieldBreakpoint.CATEGORY) : null;
                if (fieldBreakpoint != null) {
                    presentation.setEnabled(false);
                    return;
                }
            }
        }
    }
    presentation.setVisible(toEnable);
}
Also used : Project(com.intellij.openapi.project.Project) FieldBreakpoint(com.intellij.debugger.ui.breakpoints.FieldBreakpoint) Breakpoint(com.intellij.debugger.ui.breakpoints.Breakpoint) SourcePosition(com.intellij.debugger.SourcePosition) Document(com.intellij.openapi.editor.Document) BreakpointManager(com.intellij.debugger.ui.breakpoints.BreakpointManager)

Example 5 with BreakpointManager

use of com.intellij.debugger.ui.breakpoints.BreakpointManager in project intellij-community by JetBrains.

the class ToggleFieldBreakpointAction method actionPerformed.

@Override
public void actionPerformed(AnActionEvent e) {
    Project project = e.getData(CommonDataKeys.PROJECT);
    if (project == null) {
        return;
    }
    final SourcePosition place = getPlace(e);
    if (place != null) {
        Document document = PsiDocumentManager.getInstance(project).getDocument(place.getFile());
        if (document != null) {
            DebuggerManagerEx debuggerManager = DebuggerManagerEx.getInstanceEx(project);
            BreakpointManager manager = debuggerManager.getBreakpointManager();
            final int offset = place.getOffset();
            final Breakpoint breakpoint = offset >= 0 ? manager.findBreakpoint(document, offset, FieldBreakpoint.CATEGORY) : null;
            if (breakpoint == null) {
                FieldBreakpoint fieldBreakpoint = manager.addFieldBreakpoint(document, offset);
                if (fieldBreakpoint != null) {
                    if (DebuggerAction.isContextView(e)) {
                        final DebuggerTreeNodeImpl selectedNode = DebuggerAction.getSelectedNode(e.getDataContext());
                        if (selectedNode != null && selectedNode.getDescriptor() instanceof FieldDescriptorImpl) {
                            ObjectReference object = ((FieldDescriptorImpl) selectedNode.getDescriptor()).getObject();
                            if (object != null) {
                                long id = object.uniqueID();
                                InstanceFilter[] instanceFilters = new InstanceFilter[] { InstanceFilter.create(Long.toString(id)) };
                                fieldBreakpoint.setInstanceFilters(instanceFilters);
                                fieldBreakpoint.setInstanceFiltersEnabled(true);
                            }
                        }
                    }
                    final Editor editor = CommonDataKeys.EDITOR.getData(e.getDataContext());
                    if (editor != null) {
                        manager.editBreakpoint(fieldBreakpoint, editor);
                    }
                }
            } else {
                manager.removeBreakpoint(breakpoint);
            }
        }
    }
}
Also used : FieldBreakpoint(com.intellij.debugger.ui.breakpoints.FieldBreakpoint) Breakpoint(com.intellij.debugger.ui.breakpoints.Breakpoint) InstanceFilter(com.intellij.debugger.InstanceFilter) DebuggerManagerEx(com.intellij.debugger.DebuggerManagerEx) DebuggerTreeNodeImpl(com.intellij.debugger.ui.impl.watch.DebuggerTreeNodeImpl) FieldBreakpoint(com.intellij.debugger.ui.breakpoints.FieldBreakpoint) Document(com.intellij.openapi.editor.Document) BreakpointManager(com.intellij.debugger.ui.breakpoints.BreakpointManager) FieldBreakpoint(com.intellij.debugger.ui.breakpoints.FieldBreakpoint) Breakpoint(com.intellij.debugger.ui.breakpoints.Breakpoint) FieldDescriptorImpl(com.intellij.debugger.ui.impl.watch.FieldDescriptorImpl) Project(com.intellij.openapi.project.Project) ObjectReference(com.sun.jdi.ObjectReference) SourcePosition(com.intellij.debugger.SourcePosition) Editor(com.intellij.openapi.editor.Editor)

Aggregations

BreakpointManager (com.intellij.debugger.ui.breakpoints.BreakpointManager)8 Breakpoint (com.intellij.debugger.ui.breakpoints.Breakpoint)4 Project (com.intellij.openapi.project.Project)4 DebuggerManagerEx (com.intellij.debugger.DebuggerManagerEx)3 Document (com.intellij.openapi.editor.Document)3 SourcePosition (com.intellij.debugger.SourcePosition)2 FieldBreakpoint (com.intellij.debugger.ui.breakpoints.FieldBreakpoint)2 InstanceFilter (com.intellij.debugger.InstanceFilter)1 DebugProcessImpl (com.intellij.debugger.engine.DebugProcessImpl)1 JavaExecutionStack (com.intellij.debugger.engine.JavaExecutionStack)1 SuspendContextImpl (com.intellij.debugger.engine.SuspendContextImpl)1 VirtualMachineProxyImpl (com.intellij.debugger.jdi.VirtualMachineProxyImpl)1 MethodBreakpoint (com.intellij.debugger.ui.breakpoints.MethodBreakpoint)1 DebuggerTreeNodeImpl (com.intellij.debugger.ui.impl.watch.DebuggerTreeNodeImpl)1 FieldDescriptorImpl (com.intellij.debugger.ui.impl.watch.FieldDescriptorImpl)1 Editor (com.intellij.openapi.editor.Editor)1 ProcessCanceledException (com.intellij.openapi.progress.ProcessCanceledException)1 PsiClass (com.intellij.psi.PsiClass)1 Semaphore (com.intellij.util.concurrency.Semaphore)1 XDebugSession (com.intellij.xdebugger.XDebugSession)1