[R-pkg-devel] scripting R through lldb

Kevin Ushey kevinushey at gmail.com
Wed Jun 15 21:49:20 CEST 2016

Hi Guillaume,

I have a script that does this (for OS X) here, taking advantage of
the new '--batch' argument to lldb:


Note that, on recent versions of OS X due to system integrity
protection, this may not work with the system lldb, as it appears
there are restrictions on how certain environment variables, e.g.
DYLD_FALLBACK_LIBRARY_PATH, can be set for system executables. (If you
are indeed on OS X, you can try building your own version of lldb --
see e.g. https://github.com/kevinushey/etc/blob/master/platform/mac/install-llvm.sh
for that)

In the end, you should be able to use this script as e.g.

    r-lldb -f test.R

and this will launch lldb, set R as the target process, with '-f
test.R' passed to the R executable.

Depending on your OS / configuration, you might need to tweak the
script, but it will hopefully either 'work out of the box' or at least
serve as a starting point for your version.


On Wed, Jun 15, 2016 at 12:39 PM, Guillaume Chapron
<carnivorescience at gmail.com> wrote:
> Hello,
> I am debugging a package that contains some compiled C code. The C code uses R random number generator so I cannot (or have not figured out how to) debug it without running it through R. What I do is to type the following in the terminal:
> R --debugger=lldb
> then in the lldb prompt
> r
> and within R
> source("~/Desktop/test.R”)
> which is the file calling the C library. When the library crashes I can navigate the C memory to see where is the problem.
> My question is whether there is a way to have this in single line or script to run from the terminal. I have looked on stackoverflow but could not find.
> Many thanks
> Guillaume
> ______________________________________________
> R-package-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel

More information about the R-package-devel mailing list