One of the local variables was 'const char*' so I would expect it to have a value and others were of type of 'wxString' In the UI I expanded all the way to the _M_data which is of type 'wchar_t*' - and still nothing
Eran On Sun, Apr 6, 2014 at 9:13 PM, Enrico Granata <[email protected]> wrote: > 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 > > -- 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
