【问题标题】:How to view call stack of C code called via .Call() in R如何在 R 中查看通过 .Call() 调用的 C 代码的调用堆栈
【发布时间】:2014-04-24 20:44:29
【问题描述】:

基本上都在标题中。我通过 .Call() 从 R 调用 C 代码。 C 代码抛出错误,但使用 traceback() 或 options(error=recover),.Call() 函数是我可以深入研究的最远距离。 C代码抛出错误时,有没有办法查看C调用堆栈?

【问题讨论】:

  • Writing R Extensions 的第 5.9 和 5.10 节中有一些关于 .Call 的有用信息。我突然想到的一句话是“在你决定使用.Call.External 之前,你应该看看其他替代方案。”
  • @RichardScriven:但最近的共识是显然支持不使用.C——例如,参见最近的新闻文件。

标签: c r callstack


【解决方案1】:

使用gdb(或clang下的lldb)调试C代码,可能如here所描述的那样

【讨论】:

    猜你喜欢
    • 2017-06-27
    • 2017-01-26
    • 1970-01-01
    • 2012-01-24
    • 2017-08-05
    • 2011-07-27
    • 2019-04-06
    • 2011-09-13
    • 2016-04-01
    相关资源
    最近更新 更多