<div dir="ltr">There is one more issue which I was unable to solve, which is that ScriptInterpreter::Initialize() calls ScriptInterpreterPython::Initialize().  So anyone linking against liblldb-core.a needs to pull in the python stuff too, which isn't always possible.  This works fine in the CMake build, but I wasn't able to figure out how to make it work in the Xcode build.  I could get argdumper to build, but not lldb-server.  If I tried to have lldb-server depend on the python stuff under API\Bindings\Python, then I got errors about not being able to find SB classes, I guess because of something to do with framework?<br></div><br><div class="gmail_quote">On Thu, Mar 5, 2015 at 2:46 PM Greg Clayton <<a href="mailto:clayborg@gmail.com">clayborg@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">ProcessGDBRemote::<u></u>ParsePythonTargetDefinition() will also need to be updated to use StructuredData objects and the conversion from Python to StructuredData objects will need to be done in ScriptInterpreterPython.<br>
<br>
So:<br>
<br>
  lldb::<u></u>ScriptInterpreterObjectSP target_definition_sp (interpreter-><u></u>GetDynamicSettings(module_<u></u>object_sp,<br>
                                                                                        &GetTarget(),<br>
                                                                                        "gdb-server-target-definition"<u></u>,<br>
                                                                                        error));<br>
<br>
  PythonDictionary target_dict(target_definition_<u></u>sp);<br>
<br>
Will need to become:<br>
<br>
  lldb::StructuredDataObjectSP target_definition_sp (interpreter-><u></u>GetDynamicSettings(module_<u></u>object_sp,<br>
                                                                                        &GetTarget(),<br>
                                                                                        "gdb-server-target-definition"<u></u>,<br>
                                                                                        error));<br>
<br>
  StructuredData::Dictionary *dict = target_definition_sp-><u></u>GetAsDictionary();<br>
  if (dict)<br>
  {<br>
  }<br>
<br>
So Python* data types should _only_ exist in ScriptInterpreterPython code and should always be converted to StructuredData types before being given out to any code within LLDB.<br>
<br>
<br>
<a href="http://reviews.llvm.org/D7957" target="_blank">http://reviews.llvm.org/D7957</a><br>
<br>
EMAIL PREFERENCES<br>
  <a href="http://reviews.llvm.org/settings/panel/emailpreferences/" target="_blank">http://reviews.llvm.org/<u></u>settings/panel/<u></u>emailpreferences/</a><br>
<br>
<br>
</blockquote></div>