我目前正在编写一个R包,并通过R中的Rcpp
包使用编译的C++代码(Rcpp使像我这样的非程序员更容易实现R和C++代码的交互,恕我直言)。如何使用GDB在Emacs中调试R包(使用C代码)?
我想使用gdb在我的C++程序中调试一些错误。我搜索了一下,主要发现了一些在emacs中调试R的资源,R-FAQ,一些邮件here,绝对是R的写作R扩展手册。
但是,我这样做是第一次,我不能走得太远。任何人都可以给我一些关于如何在emacs中调试R包(或带有C++/C代码的扩展)的指针。具体来说,我想利用ESS与R和gdb一起使用Emacs(就像R-FAQ谈到的那样)。
请注意,我确定如何使用gdb只使用 C或C++程序。但是我不能将这些知识转化为使用带有R和扩展的gdb。
谢谢。不幸的是,我是新手在你提到的主题(由贝茨教授提问并由Maechler教授回答)中提出这个问题。 :-(。 – suncoolsu 2011-02-12 23:14:51
我的用法是从命令行输入`R -d gdb`,然后用`r`告诉gdb(r)un R,`library(pkg)`,然后ctrl-c进入gdb,设置断点等等,也就是说,没有emacs。在我脑海中保留符号名称和程序逻辑对我来说足够具有挑战性,而不必记住emacs/ESS层。 – 2011-02-12 23:24:11