R 无法识别命令行选项。 (警告 : unknown option '-d' )

标签 r windows gdb

我正在尝试使用 gdb 以与视频中指定的方式相同的方式调试 R 包中的编译代码:https://vimeo.com/11937905Writing R Extensions第 4.4 节。

这些消息来源说要使用该命令 启动 R 时出现 R -d gdb 。但是,每当我尝试执行此操作时,我都会收到一条消息:警告:未知选项 '-d' 并且 R 在正常条件下启动。 为什么 R 无法识别 -d 标志?我使用的是 Windows 10。

最佳答案

@MatthewLueder 最终发现自己在 Windows 上调试并不像在 Linux 上那样工作

R for Windows FAQ 中描述了操作方法。

失踪主要原因-d R 中的参数似乎是 Windows 无法向进程发送信号来中断执行并将控制权传递给 ( gdb ) 调试器:

  • 在不中断 R 的情况下,您无法设置断点。
  • 如果不将 R 启动到 R 控制台,您就无法加载要调试的库(不会弄脏您的双手)。

因此 Windows 上的 R 提供了一种使用 RGui 的解决方法而不是R :

gdb /path/to/R-3.x.x/bin/x64/Rgui.exe
(gdb) run

启动RGui后您处于 R shell 中并且可以加载您的包 包含要调试的 DLL。

要设置调试断点,您可以通过菜单项中断 R 闯入调试器,该菜单项仅在 RGui 时可见。开始于 gdb :

enter image description here

现在您可以通过 b a_function_name 在代码中设置断点,输入c要继续 R,请调用 R 中的函数,瞧:gdb显示断点命中和 您可以调试(单步执行代码并打印变量值)。

PS:我目前正在开发一个 R 包来改进 R 包中 C++ 代码的调试,因为查看 R 变量或 Rcpp 的当前值相当困难。 gdb 中的数据类型: https://github.com/aryoda/R_CppDebugHelper

关于R 无法识别命令行选项。 (警告 : unknown option '-d' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37816260/

相关文章:

r - MIP (ompr) 模型在 R 中求解需要花费太多时间

r - 更改冲积图中字符的字体大小

c++ - 如何获得文本框焦点的通知?

python - 如何使用 GDB 在 C 级别调试 python 脚本。给我一个简单的例子

linux - 从调试器隐藏系统调用

r - 抑制R中nnet multinom函数中的收敛消息

r - 散点图的连续分位数

windows - 在 IIS 下运行 SVN 存储库

windows - 在 Windows 上优雅地终止命令行应用程序

c - 使用 MinGW 的 C 中的段错误