User manual
Chapter 10: Developing with ESS 49
10 Developing with ESS
ESS provides several tools to help you with the development of your R packages:
10.1 ESS tracebug
ESS tracebug offers visual debugging, interactive error navigation, interactive backtrace,
breakpoint manipulation, control over R error actions, watch window and interactive flag-
ging/unflagging of functions for debugging.
From ESS13.05 ess-tracebug is on by default. You can toggle it on and off with M-x
ess-tracebug. To disable startup activation of ess-tracebug set ess-use-tracebug to
nil.
Tracebug functionality can be found on ess-dev-map, bound to C-c C-t. Additionally,
when subprocess is in a debugging state ess-debug-minor-mode is active and the following
additional shortcuts are available:
* Interactive Debugging (‘ess-debug-minor-mode-map’):
M-C . Continue . ‘ess-debug-command-continue’
M-C-C . Continue multi . ‘ess-debug-command-continue-multi’
M-N . Next step . ‘ess-debug-command-next’
M-C-N . Next step multi . ‘ess-debug-command-next-multi’
M-U . Up frame . ‘ess-debug-command-up’
M-Q . Quit debugging . ‘ess-debug-command-quit’
These are all the tracebug commands defined in ess-dev-map (C-c C-t ? to show this
table):
* Breakpoints (‘ess-dev-map’):
b . Set BP (repeat to cycle BP type) . ‘ess-bp-set’
B . Set conditional BP . ‘ess-bp-set-conditional’
k . Kill BP . ‘ess-bp-kil’
K . Kill all BPs . ‘ess-bp-kill-all’
o . Toggle BP state . ‘ess-bp-toggle-state’
l . Set logger BP . ‘ess-bp-set-logger’
n . Goto next BP . ‘ess-bp-next’
p . Goto previous BP . ‘ess-bp-previous’
(C- prefixed equivalents are also defined)
* Debugging (‘ess-dev-map’):
‘ . Show traceback . ‘ess-show-traceback’ (also on C-c ‘)
~ . Show callstack . ‘ess-show-call-stack’ (also on C-c ~)
e . Toggle error action (repeat to cycle). ‘ess-debug-toggle-error-action’
d . Flag for debugging . ‘ess-debug-flag-for-debugging’
u . Unflag for debugging . ‘ess-debug-unflag-for-debugging’










