<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">You don't need to deref a pointer. You can just ask it how many children it has. <div><br></div><div>I am guessing you have a pointer that is using a forward declaration:</div><div><br></div><div>class foo;</div><div>foo *foo = ...</div><div><br></div><div>Many compilers don't emit a full definition for the class in this case. Smart pointers often run into this. LLDB will try to track down a complete definition of your type elsewhere, but I am guessing there simply isn't one in the debug info.</div><div><br></div><div>Compilers often have some settings to control how much debug info does or does not get emitted, so you might check your compiler options. But these options tend to really bloat the debug info if you disable the settings which limit the debug info.</div><div><br></div><div>So to recap:</div><div>1 - don't do anything special for pointers, just ask them how many children they have and to get child at index</div><div>2 - many times there aren't full definitions for types when a forward declared pointer is used</div><div><br></div><div>Greg</div><div><br></div><div><div><br><div><div>On Apr 19, 2014, at 6:09 AM, Eran Ifrah <<a href="mailto:eran.ifrah@gmail.com">eran.ifrah@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Hello list,</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">

I am trying to de-reference a pointer type without success, i.e. I successfully that I need to perform a de-reference but the results are the same</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">

<br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">here is the code logic I am using (value is of type SBValue):</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">

<br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><span style="font-family:'courier new',monospace">lldb::TypeClass typeClass = value.GetType().GetTypeClass();</span><br>
</div>
<div class="gmail_default" style=""><font face="courier new, monospace">if ( typeClass & lldb::eTypeClassPointer ) {<br></font></div><div class="gmail_default" style=""><font face="courier new, monospace">    value = value.Dereference();</font></div>

<div class="gmail_default" style=""><font face="courier new, monospace">}</font></div><div class="gmail_default" style=""><font face="courier new, monospace"><br></font></div><div class="gmail_default" style=""><font face="courier new, monospace">int numOfChildren = value.GetNumChildren();</font></div>

<div class="gmail_default" style=""><font face="courier new, monospace"><br></font></div><div class="gmail_default" style=""><font face="courier new, monospace">// </font><span style="font-family:'courier new',monospace">numOfChildren is 0</span></div>

<div class="gmail_default" style=""><span style="font-family:'courier new',monospace"><br></span></div><div class="gmail_default" style=""><font face="verdana, sans-serif">Even when the above condition is True, the number of children remain 0</font></div>

<div class="gmail_default" style=""><font face="verdana, sans-serif"><br></font></div><div class="gmail_default" style=""><font face="verdana, sans-serif">Here is a screenshot of the debug process (I marked in RED what should have been de-referenced):</font></div>

<div class="gmail_default" style=""><span style="font-family:verdana,sans-serif">​<a href="http://codelite.org/images/tmp/de-reference.png">http://codelite.org/images/tmp/de-reference.png</a>​</span><br></div><div><br></div>

<div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">What am I am missing?​</div><br></div><div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">​Thanks!​</div>

<br></div>-- <br><div dir="ltr">Eran Ifrah<br>Author of codelite, a cross platform open source C/C++ IDE: <a href="http://www.codelite.org/" target="_blank">http://www.codelite.org</a><br><div>wxCrafter, a wxWidgets RAD: http://<a href="http://wxcrafter.codelite.org/" target="_blank">wxcrafter.codelite.org</a></div>

</div>
</div>
_______________________________________________<br>lldb-dev mailing list<br><a href="mailto:lldb-dev@cs.uiuc.edu">lldb-dev@cs.uiuc.edu</a><br>http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev<br></blockquote></div><br></div></div></body></html>