You can else set environment variables when you launch manually: (lldb) process launch -v DYLD_FRAMEWORK_PATH=/tmp -- arg1 arg2
"env" is nice because it sets it permanently for your target and you don't have to specify it over and over. But it you ever want to _sometimes_ launch with a different framework, the "-v" or "--environemnt" option to process launch can come in handy. Greg > On Nov 20, 2015, at 5:06 AM, Andre Alefeld via lldb-dev > <lldb-dev@lists.llvm.org> wrote: > > FYI, > > I found the solution to the problem: > DYLD_* env variables are purged from the environment due to SIP in El Capitan. > It is necessary to set any DYLD_* variable settings within (lldb) > > e.g. > lldb -f DARWIN_X64/test_app > (lldb) target create "DARWIN_X64/test_app" > Current executable set to 'DARWIN_X64/test_app' (x86_64). > (lldb) env DYLD_LIBRARY_PATH=<directory where lib lives> > (lldb) r > > then the shared lib is honored as expected inside lldb. > > > > -------- Forwarded Message -------- > Subject: lldb with app using shared lib not working > Date: Thu, 19 Nov 2015 13:24:46 +0100 > From: Andre Alefeld <aalef...@univa.com> > To: lldb-dev@lists.llvm.org > > Hi, > > if I try to debug an application from the terminal that is using a > shared lib lldb complains always about not finding the library even > though everything is loading correctly when starting the app directly > from the same terminal: > > echo $DYLD_LIBRARY_PATH/ > <some path> > > running with debugger, shared lib can be loaded: > test_app > > otool -L DARWIN_X64/test_app > DARWIN_X64/test_app: > /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current > version 1225.1.1) > libmyapp.dylib (compatibility version 0.0.0, current version 0.0.0) > > > > lldb -f DARWIN_X64/test_app > (lldb) target create "DARWIN_X64/test_app" > Current executable set to 'DARWIN_X64/test_app' (x86_64). > (lldb) r > Process 32234 launched: '/Users/xxx/yyy/zzz/source/DARWIN_X64/test_app' > (x86_64) > dyld: Library not loaded: libmyapp.dylib > Referenced from: /Users/xxx/yyy/zzz/source/DARWIN_X64/test_app > Reason: image not found > Process 32234 stopped > * thread #1: tid = 0x85c524, 0x00007fff5fc01075 dyld`dyld_fatal_error + > 1, stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) > frame #0: 0x00007fff5fc01075 dyld`dyld_fatal_error + 1 > dyld`dyld_fatal_error: > -> 0x7fff5fc01075 <+1>: nop > > dyld`dyldbootstrap::start: > 0x7fff5fc01076 <+0>: pushq %rbp > 0x7fff5fc01077 <+1>: movq %rsp, %rbp > 0x7fff5fc0107a <+4>: pushq %r15 > > > how can I achieve that the shared lib is used in the debugger correctly, > do I have to set some additional environment variables. Is there a > special r (process launch) syntax that I need to use ? > > in gdb it used to work like a charm... > > thanks for any help you can deliver in advance, > > Andre > > > > > > _______________________________________________ > lldb-dev mailing list > lldb-dev@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev _______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev