[R] help! what's wrong with setBreakpoint

Duncan Murdoch murdoch.duncan at gmail.com
Tue Dec 6 15:57:21 CET 2011


On 06/12/2011 9:47 AM, Michael wrote:
> It printed:
>
> c:\R\myproject1\myfile.R#38:
>   myfunc1 step  6,4,9 in<environment: R_GlobalEnv>
>
> What do you think?

So that set a breakpoint in the copy of the function in the global 
environment.  Are you sure you were executing the same function after 
you hit c?  If you were working on code in a package, you may have been 
executing the function in the namespace of the package, not the one in 
the global environment.

If that's not the case, then are you sure you ever got to that line?  
You can see where the breakpoint was set using

body(myfunc1)[[c(6,4,9)]]

(Watch the parens and brackets!)

Duncan Murdoch

> Thank you!
>
> On Tue, Dec 6, 2011 at 6:22 AM, Duncan Murdoch<murdoch.duncan at gmail.com>wrote:
>
> >  On 11-12-05 10:32 PM, Michael wrote:
> >
> >>  Hi all,
> >>
> >>  I am in the middle of debugging which is stopped using "browser()"... in
> >>  myfile.R at around line #25.
> >>
> >>  I was then stuck in a big loop which I want to escape and stop the program
> >>  at the line after the big loop.
> >>
> >>  In the debugging mode, I used
> >>
> >>     Browse[2]>   setBreakpoint("myfile.R#38")
> >>
> >
> >  What did it print?
> >
> >
> >
> >>  I then typed "c" and "ENTER", thinking that it will continue to execute
> >>  until when it comes across line #38 and then stop there...
> >>
> >>  But it didn't work - it continued the execution until the end of the
> >>  function, right at the line "return(results)"...
> >>
> >>  What happened? How to solve this problem?
> >>
> >
> >  One of the complications in R is that you can have multiple copies of a
> >  function in memory.  You may (or may not, what did it print??) have set a
> >  breakpoint in one copy, then run another.  Or you may have edited that
> >  function after originally sourcing it, and lost the source reference.
> >
> >  An alternative to using setBreakpoint is just to edit a call to browser()
> >  into the function.  It's less convenient, but more robust.
> >
> >  Duncan Murdoch
> >
> >
> >  Thanks a lot!
> >>
> >>         [[alternative HTML version deleted]]
> >>
> >>  ______________________________**________________
> >>  R-help at r-project.org mailing list
> >>  https://stat.ethz.ch/mailman/**listinfo/r-help<https://stat.ethz.ch/mailman/listinfo/r-help>
> >>  PLEASE do read the posting guide http://www.R-project.org/**
> >>  posting-guide.html<http://www.r-project.org/posting-guide.html>
> >>  and provide commented, minimal, self-contained, reproducible code.
> >>
> >
> >
>



More information about the R-help mailing list