Jim,

Thanks!   I just uploaded a bug report with the info that you asked for.
It is at:   http://llvm.org/bugs/show_bug.cgi?id=19922


Best,

.Chris.



On May 27, 2014, at 6:04 PM, [email protected] wrote:

> If you don't mind letting somebody see the code in one of your bad source 
> files, then you can preprocess a source file containing a function that shows 
> the problem, and that plus "what function shows the missing variable" what 
> variable was missing, and where you were in the code (line number is fine) 
> should be enough for the compiler folks to reproduce and diagnose the 
> problem.  They don't need to build your whole app, just build that source 
> file & look at the resultant debug info.
> 
> Jim
> 
>> On May 27, 2014, at 2:48 PM, Christian Schafmeister 
>> <[email protected]> wrote:
>> 
>> 
>> Thank you, it is helpful to have it confirmed that at “-O0” I should have 
>> access to my variables.
>> 
>> Unfortunately, I’ve had this problem since I switched to LLDB two years ago 
>> and I only see it (always see it) when I’m debugging my full application 
>> (165 source files, about 150,000 lines of code).  So far, my several 
>> attempts at developing small test cases have been fruitless - small examples 
>> debug fine and all variables are visible.
>> 
>> Best,
>> 
>> .Chris.
>> 
>> 
>> On May 27, 2014, at 5:38 PM, Greg Clayton <[email protected]> wrote:
>> 
>>> 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
> 


_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

Reply via email to