Skip to content
  1. Dec 10, 2012
    • Enrico Granata's avatar
      <rdar://problem/12848118> · ecbabe6d
      Enrico Granata authored
      Making MightHaveChildren() always return true regardless for our own data formatters
      This is meant to optimize performance for common most-often-not-empty container classes
      
      llvm-svn: 169759
      ecbabe6d
    • Enrico Granata's avatar
      <rdar://problem/12817233> · 37c3e910
      Enrico Granata authored
      Change the wording of NSNumber summary from absurd value to unexpected value when a tagged pointer shows up that does not match our knowledge of the internals
      
      llvm-svn: 169751
      37c3e910
  2. Oct 30, 2012
  3. Oct 25, 2012
  4. Oct 24, 2012
  5. Oct 23, 2012
    • Enrico Granata's avatar
      <rdar://problem/12523238> Commit 2 of 3 · 91fe0175
      Enrico Granata authored
      Adding the new has_children (or MightHaveChildren() in C++) for the existing synthetic children providers
      In a few cases, the new call is going to be much more efficient than the previous num_children > 0 check
      When the optimization was marginal (e.g. std::vector<>), the choice was to use num_children in order to keep
      implementation details in one function instead of duplicating code
      
      Next step is to provide test cases
      
      llvm-svn: 166506
      91fe0175
    • Enrico Granata's avatar
      Proper copyright notice · dbeb0f0e
      Enrico Granata authored
      llvm-svn: 166443
      dbeb0f0e
  6. Oct 19, 2012
    • Greg Clayton's avatar
      <rdar://problem/12491420> · c9d645d3
      Greg Clayton authored
      Added a new setting that allows a python OS plug-in to detect threads and provide registers for memory threads. To enable this you set the setting:
      
      settings set target.process.python-os-plugin-path lldb/examples/python/operating_system.py
      
      Then run your program and see the extra threads. 
      
      llvm-svn: 166244
      c9d645d3
  7. Oct 09, 2012
    • Greg Clayton's avatar
      Checking in fixes that I used to track down a leaking module. The heap module... · ae23ed33
      Greg Clayton authored
      Checking in fixes that I used to track down a leaking module. The heap module can now search the vm regions with the --vm-regions options to any of the heap functions. This is currently slow and often will time out when run on a large program since our user expression timeout is set to 500000 usec. We need to add an API to LLDB where we can specify the timeout for an expression.
      
      llvm-svn: 165437
      ae23ed33
  8. Oct 06, 2012
  9. Sep 29, 2012
    • 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
  10. Sep 25, 2012
  11. Sep 19, 2012
  12. Sep 18, 2012
  13. Sep 13, 2012
  14. Sep 12, 2012
  15. Sep 11, 2012
  16. Sep 10, 2012
  17. Sep 08, 2012
  18. Sep 07, 2012
  19. Sep 04, 2012
  20. Sep 01, 2012
    • Greg Clayton's avatar
      <rdar://problem/12069589> · c373ca5c
      Greg Clayton authored
      Fixed an issue where not all text would always be seen when running any of the functions in heap.py in Xcode. Now we put the text directly into the command result object and skip STDIO since we have issues with STDIO right now in python scripts.
      
      Also fixed an issue with the "--stack-history" option where MallocStackLoggingNoCompact was assumed to have to be enabled... It doesn't, just MallocStackLogging.
      
      llvm-svn: 163042
      c373ca5c
    • Jason Molenda's avatar
      Make the tab character in the thread frame lines optional. · d204afae
      Jason Molenda authored
      llvm-svn: 163037
      d204afae
  21. Aug 31, 2012
  22. 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
    • Jason Molenda's avatar
      Instead of using re.split and requiring two spaces between the "regname: regvalue" pairs, · e5ad3859
      Jason Molenda authored
      use re.findall and specify the regexp of regname: regvalue that we're interested in.
      <rdar://problem/12188752> 
      
      llvm-svn: 162806
      e5ad3859
  23. Aug 27, 2012
  24. Aug 24, 2012
Loading