Отладка родовых функций в R

Вы могли бы рассмотреть одну из классики - они и свободны, расширяемы и имеют большие базы пользователей, которые расширяются вне Mac:

  • Aquamacs - emacs для OS X (emacs в окне оболочки также опция)
  • Mac Vim - VI с определенным для Mac GUI (энергия в окне оболочки является также опцией)

12
задан Richie Cotton 10 November 2009 в 13:47
поделиться

1 ответ

Мои первые два предложения довольно просты: (1) заключите вызов функции в try () (который часто предоставляет больше информации о классах S4) и (2) вызовите traceback () после появления ошибки (иногда это может указывать на то, где действительно возникает проблема).

Вызов debug () в этом случае не поможет , поэтому вам нужно использовать трассировку или браузер . Со страницы справки по отладке:

"In order to debug S4 methods (see Methods), you need to use trace, typically 
calling browser, e.g., as "
  trace("plot", browser, exit=browser, signature = c("track", "missing")) 

С классами S4 может быть сложно работать; одним из примеров этого является комментарий в документации debug package (относительно использования mtrace () с классами S4):

"I have no plans to write S4 methods, and hope not to have to
debug other people’s!"

A аналогичный вопрос недавно был задан в R-Help . Рекомендация Дункана Мердока:

"You can insert a call to browser() if you want to modify the source.  If
you'd rather not do that, you can use trace() to set a breakpoint in it.
The new setBreakpoint() function in R 2.10.0 will also work, if you
install the package from source with the R_KEEP_PKG_SOURCE=yes
environment variable set.  It allows you to set a breakpoint at a
particular line number in the source code."

Я '

14
ответ дан 2 December 2019 в 19:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: