On 01/10/2009 7:02 AM, sebastian mueller wrote:> Hi all,
>
> Does anyone know how to debug S4 methods? In my case I want to find an
> error in the specc-function of the kernlab-package.
> As this seems to be a S4-method the normal S3 debugging can't be
> applied apparently (e.g. debug(s3function.someclass)).
>
> So in my case
>
>> debug(specc:kernlab)
> seems only to debug the generic-function:
>
>> specc:kernlab
> function (x, ...)
> standardGeneric("specc")
> <environment: 0x9088080>
>
> which doesn't help me. Does anyone know how to debug the real-code?
You can insert a call to browser() if you want to modify the source. If
you'd rather not do that, you can use trace() to set a breakpoint in it.
The new setBreakpoint() function in R 2.10.0 will also work, if you
install the package from source with the R_KEEP_PKG_SOURCE=yes
environment variable set. It allows you to set a breakpoint at a
particular line number in the source code.
Duncan Murdoch