Как запустить скрипт R с подключенным GDB? - PullRequest
3 голосов
/ 01 сентября 2010

У меня есть R-скрипт, который обычно запускается из командной строки с аргументами:

./script.R --width=10

Он использует Rscript в качестве интерпретатора:

#!/usr/bin/env Rscript 

К сожалению, это вызывает ошибку сегментации, когда он выполняет мой скомпилированный код C в R, используя .C("compiled_function").

Итак, как мне запустить скрипт R с подключенным отладчиком gdb?

Rscript явно не знает опцию -d.

Я пробовал это

R -d gdb --vanilla --args --width=10 < script.R

Но это не сработало, поскольку оно передало --width=10 отладчику. Какой правильный звонок?

Может быть, я должен начать R в интерактивном режиме:

$ R -d gdb --vanilla 

Но тогда я не знаю, как source написать мой сценарий и передать аргументы (--width=10).

1 Ответ

3 голосов
/ 01 сентября 2010

Я думаю, что общее соглашение GNU getopt должно использовать -- для обозначения оставшихся аргументов . Так что попробуйте

 R -d gdb --vanilla -- --width=10 < script.R

Иначе жестко запишите значение аргумента в вашем скрипте или скомпилированной функции.

...