Function: gdb-goto-breakpoint

gdb-goto-breakpoint is an interactive and byte-compiled function defined in gdb-mi.el.gz.

Signature

(gdb-goto-breakpoint &optional EVENT)

Documentation

Go to the location of breakpoint at current line of breakpoints buffer.

View in manual

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/gdb-mi.el.gz
(defun gdb-goto-breakpoint (&optional event)
  "Go to the location of breakpoint at current line of breakpoints buffer."
  (interactive (list last-input-event))
  (if event (posn-set-point (event-end event)))
  ;; Hack to stop gdb-goto-breakpoint displaying in GUD buffer.
  (let ((window (get-buffer-window gud-comint-buffer)))
    (if window (save-selected-window  (select-window window))))
  (save-excursion
    (beginning-of-line)
    (let ((breakpoint (get-text-property (point) 'gdb-breakpoint)))
      (if breakpoint
          (let ((bptno (gdb-mi--field breakpoint 'number))
                (file  (gdb-mi--field breakpoint 'fullname))
                (line  (gdb-mi--field breakpoint 'line)))
            (save-selected-window
              (let* ((buffer (find-file-noselect
                              (if (file-exists-p file) file
                                (cdr (assoc bptno gdb-location-alist)))))
                     (window (gdb-display-source-buffer buffer)))
                (with-current-buffer buffer
                  (goto-char (point-min))
                  (forward-line (1- (string-to-number line)))
                  (set-window-point window (point))))))
        (error "Not recognized as break/watchpoint line")))))