Function: semantic-debug
semantic-debug is an autoloaded, interactive and byte-compiled
function defined in debug.el.gz.
Signature
(semantic-debug)
Documentation
Parse the current buffer and run in debug mode.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/cedet/semantic/debug.el.gz
;;;###autoload
(defun semantic-debug ()
"Parse the current buffer and run in debug mode."
(interactive)
(if semantic-debug-current-interface
(error "You are already in a debug session"))
(if (not semantic-debug-parser-class)
(error "This major mode does not support parser debugging"))
;; Clear the cache to force a full reparse.
(semantic-clear-toplevel-cache)
;; Load in the debugger for this file.
(when semantic-debug-parser-debugger-source
(require semantic-debug-parser-debugger-source))
;; Do the parse
(let ((semantic-debug-enabled t)
;; Create an interface
(semantic-debug-current-interface
(let ((parserb (semantic-debug-find-parser-source)))
(semantic-debug-interface
:parser-buffer parserb
:parser-local-map (with-current-buffer parserb
(current-local-map))
:source-buffer (current-buffer)
:source-local-map (current-local-map)
)))
;; Create a parser debug interface
(semantic-debug-current-parser
(funcall semantic-debug-parser-class "parser"))
)
;; We could recurse into a parser while debugging.
;; Is that a problem?
(semantic-fetch-tags)
;; We should turn the auto-parser back on, but don't do it for
;; now until the debugger is working well.
))