Skip to content
  1. Oct 04, 2012
  2. Oct 03, 2012
  3. Oct 02, 2012
    • Greg Clayton's avatar
      <rdar://problem/11791234> · 548e9a3e
      Greg Clayton authored
      Shared libraries on MacOSX were not properly being removed from the shared
      module list when re-running a debug session due to an error in:
      
      Module::MatchesModuleSpec()
      
      llvm-svn: 164991
      548e9a3e
  4. Oct 01, 2012
  5. Sep 29, 2012
    • Enrico Granata's avatar
    • Enrico Granata's avatar
      <rdar://problem/12378910> Fixing a potential crasher in the data formatters... · 60b81dff
      Enrico Granata authored
      <rdar://problem/12378910> Fixing a potential crasher in the data formatters where we fail to check for NULL or empty class name
      
      llvm-svn: 164870
      60b81dff
    • Enrico Granata's avatar
      Implementing plugins that provide commands. · 21dfcd9d
      Enrico Granata authored
      This checkin adds the capability for LLDB to load plugins from external dylibs that can provide new commands
      It exports an SBCommand class from the public API layer, and a new SBCommandPluginInterface
      
      There is a minimal load-only plugin manager built into the debugger, which can be accessed via Debugger::LoadPlugin.
      
      Plugins are loaded from two locations at debugger startup (LLDB.framework/Resources/PlugIns and ~/Library/Application Support/LLDB/PlugIns) and more can be (re)loaded via the "plugin load" command
      
      For an example of how to make a plugin, refer to the fooplugin.cpp file in examples/plugins/commands
      
      Caveats:
      	Currently, the new API objects and features are not exposed via Python.
      	The new commands can only be "parsed" (i.e. not raw) and get their command line via a char** parameter (we do not expose our internal Args object)
      	There is no unloading feature, which can potentially lead to leaks if you overwrite the commands by reloading the same or different plugins
      	There is no API exposed for option parsing, which means you may need to use getopt or roll-your-own
      
      llvm-svn: 164865
      21dfcd9d
  6. Sep 28, 2012
  7. Sep 27, 2012
  8. Sep 20, 2012
  9. Sep 19, 2012
  10. Sep 18, 2012
  11. Sep 15, 2012
  12. Sep 14, 2012
  13. Sep 13, 2012
  14. Sep 11, 2012
  15. Sep 06, 2012
  16. Sep 05, 2012
  17. Sep 04, 2012
  18. Sep 01, 2012
    • Greg Clayton's avatar
      Made it so changes to the prompt via "settings set prompt" get noticed by the command line. · 4c05410f
      Greg Clayton authored
      Added the ability for OptionValueString objects to take flags. The only flag is currently for parsing escape sequences. Not the prompt string can have escape characters translate which will allow colors in the prompt.
      
      Added functions to Args that will parse the escape sequences in a string, and also re-encode the escape sequences for display. This was looted from other parts of LLDB (the Debugger::FormatString() function).
      
      llvm-svn: 163043
      4c05410f
  19. Aug 31, 2012
    • Greg Clayton's avatar
      <rdar://problem/12202862> · 7036425c
      Greg Clayton authored
      Added a fix for incorrect dynamic typing. Before when asking if a C++ class could be dynamic, we would answer yes for incomplete C++ classes. This turned out to have issues where if a class was not virtual, yet had its first ivar be an instance of a virtual class, we would incorrectly say that a class was virtual and we would downcast it to be a pointer to the first ivar. We now ask the class to complete itself prior to answering the question. We need to test the effects on memory of this change prior to submission. It is the safest and best fix, but it does have a potential downside of higher memory consumption.
      
      llvm-svn: 163014
      7036425c
  20. Aug 29, 2012
    • Greg Clayton's avatar
      <rdar://problem/11757916> · 1f746071
      Greg Clayton authored
      Make breakpoint setting by file and line much more efficient by only looking for inlined breakpoint locations if we are setting a breakpoint in anything but a source implementation file. Implementing this complex for a many reasons. Turns out that parsing compile units lazily had some issues with respect to how we need to do things with DWARF in .o files. So the fixes in the checkin for this makes these changes:
      - Add a new setting called "target.inline-breakpoint-strategy" which can be set to "never", "always", or "headers". "never" will never try and set any inlined breakpoints (fastest). "always" always looks for inlined breakpoint locations (slowest, but most accurate). "headers", which is the default setting, will only look for inlined breakpoint locations if the breakpoint is set in what are consudered to be header files, which is realy defined as "not in an implementation source file". 
      - modify the breakpoint setting by file and line to check the current "target.inline-breakpoint-strategy" setting and act accordingly
      - Modify compile units to be able to get their language and other info lazily. This allows us to create compile units from the debug map and not have to fill all of the details in, and then lazily discover this information as we go on debuggging. This is needed to avoid parsing all .o files when setting breakpoints in implementation only files (no inlines). Otherwise we would need to parse the .o file, the object file (mach-o in our case) and the symbol file (DWARF in the object file) just to see what the compile unit was.
      - modify the "SymbolFileDWARFDebugMap" to subclass lldb_private::Module so that the virtual "GetObjectFile()" and "GetSymbolVendor()" functions can be intercepted when the .o file contenst are later lazilly needed. Prior to this fix, when we first instantiated the "SymbolFileDWARFDebugMap" class, we would also make modules, object files and symbol files for every .o file in the debug map because we needed to fix up the sections in the .o files with information that is in the executable debug map. Now we lazily do this in the DebugMapModule::GetObjectFile()
      
      Cleaned up header includes a bit as well.
      
      llvm-svn: 162860
      1f746071
    • Johnny Chen's avatar
      rdar://problem/11374963 · 1083b0de
      Johnny Chen authored
      Fix a subtle ArchSpec::cores_match() logic issue which prevents the add-dsym command
      to add a debug symbol file to one of the target's current modules.
      
      llvm-svn: 162802
      1083b0de
  21. Aug 27, 2012
  22. Aug 24, 2012
  23. Aug 23, 2012
    • Greg Clayton's avatar
      <rdar://problem/12022079> · 754a9369
      Greg Clayton authored
      Added a new "interpreter" properties to encapsulate any properties for the command interpreter. Right now this contains only "expand-regex-aliases", so you can now enable (disabled by default) the echoing of the command that a regular expression alias expands to:
      
      (lldb) b main
      Breakpoint created: 1: name = 'main', locations = 1
      
      Note that the expanded regular expression command wasn't shown by default. You can enable it if you want to:
      
      (lldb) settings set interpreter.expand-regex-aliases true
      (lldb) b main
      breakpoint set --name 'main'
      Breakpoint created: 1: name = 'main', locations = 1
      
      Also enabled auto completion for enumeration option values (OptionValueEnumeration) and for boolean option values (OptionValueBoolean).
      
      Fixed auto completion for settings names when nothing has been type (it should show all settings).
      
      llvm-svn: 162418
      754a9369
  24. Aug 22, 2012
  25. Aug 09, 2012
Loading