.C
with huge numbers of arguments (e.g. when initializing data structures), and you get an error message complaining about one of the arguments. Trouble is, the error message doesn't tell you which one, and it can be hard to track down. A convenient way to find out is to mtrace
the caller and run as far as the .C
call, then do this at the prompt:D(n)> .C <- debug.C
and then hit .C
arguments all have names-- which is good practice anyway, for matching up the R and C code. Return value is NULL
; debug.C
doesn't actually try to run any C code. (You wouldn't be using this if your .C
worked!)
# This is mandatory, but not useful here. See *Description*
# You would never call 'debug.C' directly
debug.C(...)
.C