These functions locate objects containing particular lines of source
  code, using the information saved when the code was parsed with
  keep.source = TRUE.
findLineNum(srcfile, line, nameonly = TRUE,
            envir = parent.frame(), lastenv)setBreakpoint(srcfile, line, nameonly = TRUE,
              envir = parent.frame(), lastenv, verbose = TRUE,
              tracer, print = FALSE, clear = FALSE, ...)
The name of the file containing the source code.
The line number within the file. See Details for an alternate way to specify this.
If TRUE (the default), we require only a match
    to basename(srcfile), not to the full path.
Where do we start looking for function objects?
Where do we stop? See the Details.
Should we print information on where breakpoints were set?
The print argument to pass to trace.
Additional arguments to pass to trace.
findLineNum returns a list of objects containing location
  information.  A print method is defined for them.
setBreakpoint has no useful return value; it is called for the
  side effect of calling trace or untrace.
The findLineNum function searches through all objects in
  environment envir, its parent, grandparent, etc., all the way
  back to lastenv.
lastenv defaults to the global environment if
  envir is not specified, and to the
  root environment emptyenv() if envir is
  specified.  (The first default tends to be quite fast, and will
  usually find all user code other than S4 methods; the second one is
  quite slow, as it will typically search all attached system
  libraries.)
For convenience, envir may be specified indirectly:  if it is
  not an environment, it will be replaced with
  environment(envir).
setBreakpoint is a simple wrapper function for
  trace and untrace.  It will set or clear
  breakpoints at the locations found by findLineNum.
The srcfile is normally a filename entered as a character
  string, but it may be a "srcfile" object, or it may
  include a suffix like "filename.R#nn", in which case the number
  nn will be used as a default value for line.
As described in the description of the where argument on the
  man page for trace, the R package system uses a
  complicated scheme that may include more than one copy of a function
  in a package.  The user will typically see the public one on the
  search path, while code in the package will see a private one in the
  package namespace.  If you set envir to the environment of a
  function in the package, by default findLineNum will find both
  versions, and setBreakpoint will set the breakpoint in both.
  (This can be controlled using lastenv; e.g.,
  envir = environment(foo), lastenv = globalenv()
  will find only the private copy, as the search is stopped before
  seeing the public copy.)
S version 4 methods are also somewhat tricky to find.  They are stored
  with the generic function, which may be in the base or other
  package, so it is usually necessary to have lastenv = emptyenv()
  in order to find them.  In some cases transformations are done by R
  when storing them and findLineNum may not be able to find the
  original code.  Many special cases, e.g.methods on primitive
  generics, are not yet supported.
# NOT RUN {
# Find what function was defined in the file mysource.R at line 100:
findLineNum("mysource.R#100")
# Set a breakpoint in both copies of that function, assuming one is in the
# same namespace as myfunction and the other is on the search path
setBreakpoint("mysource.R#100", envir = myfunction)
# }
Run the code above in your browser using DataLab