File a compiler bug with your source file. At -O0 you should always have access to your variables. LLDB is just showing you what the compiler tells us.
Greg Clayton > On May 27, 2014, at 2:11 PM, Christian Schafmeister <[email protected]> > wrote: > > > How do I ensure that I can print all local variables from within LLDB? > > When I use LLDB, more than half the time when I try to print a local variable > I get an error and “frame variable” shows the variable as being <variable not > available> > > I’m compiling all of my source with “-O0 -g”. > > I have not been able to create a small test case where this happens - all of > my attempts at small test cases print local variables just fine. > > Here is a typical compiler invocation for my debug build: > > "clang++" -x c++ -O0 -g -Warray-bounds -Wgnu-array-member-paren-init > -Wno-deprecated-register -mmacosx-version-min=10.7 -fvisibility=default > -std=c++11 -stdlib=libc++ -DCONFIG_VAR_COOL -DDEBUG_ASSERTS > -DDEBUG_MPS_AMS_POOL -DEXPAT -DINCLUDED_FROM_CLASP -DINHERITED_FROM_SRC > -DREADLINE -DUSE_BOEHM -D_ADDRESS_MODEL_64 -D_DEBUG_BUILD -D_TARGET_OS_DARWIN > -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS > -I"../../src" -I"../../src/core" > -I"../../src/core/bin/boehm/clang-darwin-4.2.1/debug/link-static" > -I"/Library/Frameworks/EPD64.framework/Versions/7.2/include/python2.7" > -I"/Users/meister/Development/cando/clasp/build/cando.app/Contents/Resources/externals/common/include" > > -I"/Users/meister/Development/cando/clasp/build/cando.app/Contents/Resources/externals/release/include" > -c -o > "../../src/core/bin/boehm/clang-darwin-4.2.1/debug/link-static/evaluator.o" > "../../src/core/evaluator.cc" > > > Here’s an example of what I run into all the time with LLDB: > > frame #12: 0x000000010119800e > clasp_boehm_d`core::SpecialForm_O::evaluate(mem::smart_ptr<core::Cons_O>, > mem::smart_ptr<core::Environment_O>) + 542 at > /Users/meister/Development/cando/clasp/src/core/../../src/core/specialForm.cc:41 > 38 T_mv SpecialForm_O::evaluate( Cons_sp args, Environment_sp > environment ) > 39 {_OF(); > 40 ASSERTP(this->_fptr!=NULL,"Functoid can not be NULL"); > -> 41 return (this->_fptr)(args,environment); > 42 } > 43 > 44 > (lldb) frame variable > frame variable > (core::SpecialForm_O *) this = 0x00000001067d4008 > (core::Cons_sp) args = <variable not available> > > (core::Environment_sp) environment = <variable not available> > > (lldb) print args > print args > error: Couldn't materialize struct: size of variable args (8) disagrees with > the ValueObject's size (0) > Errored out in Execute, couldn't PrepareToExecuteJITExpression > (lldb) > > > > _______________________________________________ > lldb-dev mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev _______________________________________________ lldb-dev mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
