What is the data type of your variables?

If they are aggregate types (structs, classes, ...) they won't have a value.

Only basic types (int, float, char, ..., you get the idea - and pointers) have 
a value.

For other types, they might have a summary, or they might have children, but 
definitely no value.

Sent from the iPhone of
Enrico Granata <egranata@🍎.com>

> On Apr 6, 2014, at 7:02 AM, Eran Ifrah <[email protected]> wrote:
> 
> Hello all,
> 
> I am at a phase where I want to display the current frame local variables 
> whenever the debugger "stops"
> I was able to get a list of the selected frame's variables in the following 
> manner:
> 
> lldb::SBFrame frame = 
> m_target.GetProcess().GetSelectedThread().GetSelectedFrame();
> ...
> lldb::SBValueList args = frame.GetBlock().GetVariables(m_target, true, true, 
> false);
> for(size_t i=0; i<args.GetSize(); ++i) {
>         lldb::SBValue value = args.GetValueAtIndex(i);
>         if ( value.IsValid() ) {
>             LLDBLocalVariable::Ptr_t var( new LLDBLocalVariable(value) );
>             locals.push_back( var );
>         }
> }
> 
> Now, LLDBLocalVariable is a thin wrapper class for UI purposes.
> What it does is basically copies values from lldb::SBValue:
> 
> LLDBLocalVariable::LLDBLocalVariable(lldb::SBValue value) {
>     SetName( value.GetName() );
>     SetType( value.GetTypeName() );
>     SetValue( value.GetValue() ); // always returns null
>     ... // code that handles children of value
> }
> 
> value.GetName() and value.GetTypeName() are working as expected (i.e. I get 
> the correct type name and its name)
> However, I can't get the value as "string". I was naive enough to think that 
> const char* SBValue::GetValue() will do the trick... but this always returns 
> NULL.
> 
> Any suggestions on what am I doing wrong? an example on how to extract the 
> variable's value in string format will be really appreciated
> 
> Thanks,
> 
> P.S.
> This is Linux 13.10 / 64 bit
> Self compiled lldb
> 
> -- 
> Eran Ifrah
> Author of codelite, a cross platform open source C/C++ IDE: 
> http://www.codelite.org
> wxCrafter, a wxWidgets RAD: http://wxcrafter.codelite.org
> _______________________________________________
> 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