У меня есть R скрипт, который обычно запускается из командной строки с аргументами:Как запустить R-скрипт с подключенным gdb?
./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
).
Когда я пытаюсь, по какой-то причине, R-код в script.R интерпретируется gdb, что является беспорядком. Должен быть способ назвать это, не устанавливая значения аргументов в моем скрипте (у меня на самом деле довольно много аргументов, а не только то, что я дал в примере). – Frank
Тогда не используйте перенаправление. Запустите 'R -d gdb' и выполните' source («script.R») 'вместо. –
Но как я могу передать параметры скрипту? Если я просто скажу «source (« script.R »), он будет жаловаться, что значения (« ширина »и т. Д.) Не установлены. – Frank