<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;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Nov 30, 2014, at 4:35 AM, Jose H <<a href="mailto:jose.francisco.hevia@gmail.com" class="">jose.francisco.hevia@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">Just being curious(and not loving the fact of using something without<br class="">understanding it, what the last argument of frame.GetVariable does?.<br class=""><br class="">It says:<br class="">DynamicValueType use_dynamic<br class=""><br class="">In the c++ documentation it says I could use those values:<br class="">eDynamicCanRunTarget, eNoDynamicValues, eDynamicCanRunTarget,<br class="">eDynamicDontRunTarget<br class=""><br class="">What dynamic value type means?. It means c++ auto or something like a<br class="">template value?.<br class=""><br class=""></div></blockquote><div><br class=""></div><div>Imagine this situation:</div><div><br class=""></div><div>class Foo { public: virtual void something() ... };</div><div>class Bar: public Foo { … };</div><div><br class=""></div><div>Foo *aFoo = new Bar();</div><div><br class=""></div><div>The declared type of “aFoo” is Foo*, but its actual type at runtime is Bar*</div><div>This “actual type at runtime” notion is what LLDB calls the “dynamic type” (vs. the declared, aka “static” type)</div><div><br class=""></div><div>You can tell LLDB whether you want the static or the dynamic type when resolving a variable. And you can control whether LLDB is allowed to run code <u class="">in the inferior process</u> to perform this resolution</div><div>As far as I know, there are no cases in which LLDB actually needs to run code to perform this resolution (it used to be the case historically), except that we cheat, and we will run code even if you say “Don’t run” to fetch a table of classes from the ObjC runtime</div><div>We are aware that this is bending the rules a little, of course.</div></div><div apple-content-edited="true" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><br class=""></div><div class="">Thanks,</div><div class=""><i class="">- Enrico</i><br class="">📩 egranata@<font color="#ff2600" class=""></font>.com ☎️ 27683</div><div class=""><br class=""></div></div></div></div></div></div><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">
</div>
<br class=""></body></html>