c/c++でprintfデバッグをラクに行う

gdbを使いこなしたいと思いつつ,やってしまうprintfデバッグ.printfをささっと挿入するelispが公開されていたので紹介.

以下,引用です.

(defun my-insert-printf-debug ()
  (interactive)
  (insert-string "printf(\"%s %s:%d\\n\", __func__, __FILE__, __LINE__);")
  (indent-according-to-mode)
)

(add-hook 'c++-mode-hook
  (function (lambda ()
              (define-key c++-mode-map (kbd "C-c d") 'my-insert-printf-debug)
)))

このコードを.emacsに張りつけると,c++-mode時にC-c dでデバッグ用printfが挿入されるようになる.ただ,c-modeの時にも使いたかったので,

(add-hook 'c-mode-hook
  (function (lambda ()
              (define-key c-mode-map (kbd "C-c d") 'my-insert-printf-debug)
)))

を独自に追加した.最高に便利です.

こういうのを見るとelisp勉強したいって思う.