I've updated to R 4.0.0
and RStudio version 1.2.5042
.
I'm developing a package and I've regularly used the following workflow:
- Build the package from within RStudio by clicking the "Install & Restart" button (including the
--with-keep.source
R CMD INSTALL option). - Set a breakpoint in the
.R
file of the function I want to debug. - Call the function and wait for the debugger to stop exactly where I set the breakpoint.
This used to work nicely. Now, however, I always get:
Debug location is approximate because the source is not available
This is annyoing because I can still debug, but I'm not in the actual function anymore.
Any hints/ideas why this is?
Edit (11.05.2020)
It seems like this is an issue with RStudio and R 4.0.0. Here is why I think so. I used another machine running Windows 10 and did the following steps (in this order; should be reproducible for Windows users). At the outset I had R 3.6.1 and RStudio 1.2.5042 installed (at the time of writing 1.2.5042 was the current version; tried also with the preview version 1.3.957 of RStudio).
Clone the package I'm developing from Github:
git clone "https://github.com/M-E-Rademaker/cSEM"
Go to the package root and open
cSEM.Rproj
- Run
devtools::install_github("M-E-Rademaker/cSEM")
to automatically install the package and download all packages thatcSEM
depends on. - In RStudio: click on "
Build
" install and "Install and Restart
" - Now naviagte to a source file. For example:
R/00_csem.R
and set a breakpoint in e.g. line 321. Now run the following piece of code:
model <- " # Structural model eta2 ~ eta1 eta3 ~ eta1 + eta2 # Measurement eta1 =~ y11 + y12 + y13 eta2 =~ y21 + y22 + y23 eta3 =~ y31 + y32 + y33 " res <- csem(threecommonfactors, model)
The debugger should start and take you right to line 321. You should be able to alter code and you should NOT get the "debug-location-is-approximate-because-the-source-is-not-availabe" warning IF you are on an R version below 4.0.0.
- Go to
R/00_csem.R
and remove the breakpoint in line 321 - Close Rstudio and update R to 4.0.0 (using e.g.
installr::updateR()
) - IMPORTANT: also get the newest version of Rtools and follow the steps on the website concerning the part where you need to add rtools to PATH. https://cran.r-project.org/bin/windows/Rtools/
- Since you need to reinstall all packages: open
cSEM.Rproj
again; runinstall.packages("devtools")
- Now repeat steps 3, 4, 5, and 6.
- The debugger should stop at line 321 again, however, this time you do get the "debug-location-is-approximate-because-the-source-is-not-availabe" warning.
Why is that? Any ideas/hints/suggestions are welcome!!
Other things I tried:
- Deleting the package from win-library and reinstalling
- Reinstalling the package from GitHub using
devtools::install_github()
- Checked package root
- Updated all dependency packages
- Repeated the procedure on different machines
- I develop another package which you can clone from GitHub here: https://github.com/M-E-Rademaker/cSEM.DGP. You can run the same procedure with this package, however, here I dont get the warning when using 4.0.0...which is extremly odd I think.