Function: dape-memory

dape-memory is an interactive and natively compiled function defined in dape.el.

Signature

(dape-memory ADDRESS &optional REUSE-BUFFER)

Documentation

View and edit memory from ADDRESS in hex dump format.

If REUSE-BUFFER is non-nil reuse the current buffer to display result of memory read.

Key Bindings

ctl-x-map C-a m dape-global-map m global-map C-x C-a m help-quick-use-map C-x C-a m

Source Code

;; Defined in /nix/store/1fiaif8pifqj2jh65rbg3fkhg3i56q42-emacs-packages-deps/share/emacs/site-lisp/elpa/dape-0.27.1/dape.el
(defun dape-memory (address &optional reuse-buffer)
  "View and edit memory from ADDRESS in hex dump format.
If REUSE-BUFFER is non-nil reuse the current buffer to display result
of memory read."
  (interactive
   (list (string-trim
          (let ((default
                 (when-let* ((number (thing-at-point 'number)))
                   (format "0x%08x" number))))
            (read-string (format-prompt "View memory at address" default)
                         nil nil default)))))
  (let ((conn (dape--live-connection 'stopped)))
    (unless (dape--capable-p conn :supportsReadMemoryRequest)
      (user-error "Adapter not capable of reading memory"))
    (let ((buffer (if reuse-buffer (current-buffer)
                    (generate-new-buffer "*dape-memory*"))))
      (with-current-buffer buffer
        (unless (eq major-mode 'dape-memory-mode)
          (dape-memory-mode)
          (when (dape--capable-p conn :supportsWriteMemoryRequest)
            (message (substitute-command-keys
                      "Write memory with `\\[save-buffer]'"))))
        (setq dape--memory-address address)
        (revert-buffer))
      (select-window (dape--display-buffer buffer)))))