Running R with lldb
Thanks, attaching to the process seemed simplest.
For others: the manual talks about doing it with gdb, but the same
syntax works with lldb. Here's an example: Start R, then open a new
terminal window:
murdoch at djmair3 ~
$ ps
PID TTY TIME CMD
11293 ttys000 0:00.08 -bash
13829 ttys000 0:00.31 /Users/murdoch/R/R-devel/bin/exec/R
13804 ttys001 0:00.03 -bash
murdoch at djmair3 ~
$ lldb -p 13829
(lldb) process attach --pid 13829
Process 13829 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
frame #0: 0x00007fff70eb10fe libsystem_kernel.dylib`__select + 10
libsystem_kernel.dylib`__select:
-> 0x7fff70eb10fe <+10>: jae 0x7fff70eb1108 ; <+20>
0x7fff70eb1100 <+12>: movq %rax, %rdi
0x7fff70eb1103 <+15>: jmp 0x7fff70eaa22d ; cerror
0x7fff70eb1108 <+20>: retq
Target 0: (R) stopped.
Duncan Murdoch
On 05/08/2020 10:16 a.m., Prof Brian Ripley wrote:
One of the suggestions in https://cran.r-project.org/doc/manuals/r-devel/R-exts.html#Debugging-on-macOS should help. Both worked for my build of R-devel yesterday .... On 05/08/2020 14:25, Duncan Murdoch wrote:
I'm now successfully building R-devel in /Users/murdoch/R/R-devel.? If I run it from that directory using ?bin/R -d lldb it starts, but "run" gives this error: Process 11165 launched: '/Users/murdoch/R/R-devel/bin/exec/R' (x86_64) dyld: Library not loaded: libRblas.dylib ? Referenced from: /Users/murdoch/R/R-devel/bin/exec/R ? Reason: image not found Process 11165 stopped * thread #1, stop reason = signal SIGABRT ??? frame #0: 0x00000001004c7ede dyld`__abort_with_payload + 10 dyld`__abort_with_payload: ->? 0x1004c7ede <+10>: jae??? 0x1004c7ee8?????????????? ; <+20> ??? 0x1004c7ee0 <+12>: movq?? %rax, %rdi ??? 0x1004c7ee3 <+15>: jmp??? 0x1004c6408?????????????? ; cerror_nocancel ??? 0x1004c7ee8 <+20>: retq Target 0: (R) stopped. I can start it from the /Users/murdoch/R/R-devel/lib directory where libRblas.dylib lives.? Setting DYLD_LIBRARY_PATH or LD_LIBRARY_PATH to point there doesn't help (either on the bin/R command line or exported). ?Is there some other way to run it from whatever directory I happen to be in? Duncan Murdoch On 02/05/2020 11:26 p.m., Simon Urbanek wrote:
Vince, Apple no longer allows debugging of distributed apps - see R for Mac FAQ 10.17: http://mac.r-project.org/bin/macosx/RMacOSX-FAQ.html#I-cannot-attach-debugger-to-R Another (not recommended) work-around is to disable SIP. Cheers, Simon
On 3/05/2020, at 10:42 AM, Vincent Carey <stvjc at channing.harvard.edu> wrote: I'd like to make use of material in https://kevinushey.github.io/blog/2015/04/13/debugging-with-lldb/ But with R 4.0 I get %vjcair> R -d lldb (lldb) target create "/Library/Frameworks/R.framework/Resources/bin/exec/R" Current executable set to '/Library/Frameworks/R.framework/Resources/bin/exec/R' (x86_64). (lldb) run error: process exited with status -1 (Error 1) (lldb) quit %vjcair> which lldb /usr/bin/lldb %vjcair> lldb --version lldb-1100.0.30.12 Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15) with gdb, there is a little more info -- and a peculiar warning that mentions /Volumes/Builds/Simon/R4/h ... %vjcair> R -d gdb GNU gdb (GDB) 8.1 Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.? Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-apple-darwin16.7.0". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /Library/Frameworks/R.framework/Resources/bin/exec/R... warning: `/Volumes/Builds/Simon/R4/high-sierra-x86_64/R-4.0-branch/src/main/Rmain.o': can't open to read symbols: No such file or directory. (no debugging symbols found)...done. (gdb) run Starting program: /Library/Frameworks/R.framework/Versions/4.0/Resources/bin/exec/R Unable to find Mach task port for process-id 59032: (os/kern) failure (0x5). (please check gdb is codesigned - see taskgated(8))
sessionInfo()
R version 4.0.0 Patched (2020-04-27 r78309)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Mojave 10.14.6
Matrix products: default
BLAS:
/Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRblas.dylib
LAPACK:
/Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRlapack.dylib
--
The information in this e-mail is intended only for t...{{dropped:8}}
_______________________________________________ R-SIG-Mac mailing list R-SIG-Mac at r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-mac