Skip to content
  1. Sep 27, 2011
  2. Sep 26, 2011
    • Greg Clayton's avatar
      Added more functionality to the public API to allow for better · 8f7180b1
      Greg Clayton authored
      symbolication. Also improved the SBInstruction API to allow
      access to the instruction opcode name, mnemonics, comment and
      instruction data.
      
      Added the ability to edit SBLineEntry objects (change the file,
      line and column), and also allow SBSymbolContext objects to be
      modified (set module, comp unit, function, block, line entry
      or symbol). 
      
      The SymbolContext and SBSymbolContext can now generate inlined
      call stack infomration for symbolication much easier using the
      SymbolContext::GetParentInlinedFrameInfo(...) and 
      SBSymbolContext::GetParentInlinedFrameInfo(...) methods.
      
      llvm-svn: 140518
      8f7180b1
  3. Sep 24, 2011
    • Greg Clayton's avatar
      Added the ability to get all section contents, or the section · d9dc52dc
      Greg Clayton authored
      contents starting at an offset (2 separate methods). This helps
      the scripting interface stay more natural by allowing both from
      Python.
      
      Added the ability to dump data with address annotations when
      call SBData::GetDescription().
      
      Hooked up the SBSection to the __repr__ so you can print section
      objects from within python.
      
      Improved the dumping of symbols from python.
      
      Fixed the .i interface references which were set to "Relative to this Group"
      which somehow included Jim's "lldb-clean" root directory in the path. The
      interfaces are now in a folder called "interfaces" withing the Xcode API
      subfolder.
      
      llvm-svn: 140451
      d9dc52dc
    • Johnny Chen's avatar
      SBSection supports iteration through its subsections, represented as SBSection as well. · 5b94dc28
      Johnny Chen authored
      SBModule supports an additional SBSection iteration, besides the original SBSymbol iteration.
      Add docstrings and implement the two SBSection iteration protocols.
      
      llvm-svn: 140449
      5b94dc28
    • Greg Clayton's avatar
      Fixed build issues after recent checkin. · f644ddf4
      Greg Clayton authored
      Added the ability to get the name of the SBSection.
      
      llvm-svn: 140444
      f644ddf4
    • Greg Clayton's avatar
      Added missing file. · 64a4eaae
      Greg Clayton authored
      llvm-svn: 140442
      64a4eaae
    • Greg Clayton's avatar
      Added to the public API to allow symbolication: · cac9c5f9
      Greg Clayton authored
      - New SBSection objects that are object file sections which can be accessed
        through the SBModule classes. You can get the number of sections, get a 
        section at index, and find a section by name.
      - SBSections can contain subsections (first find "__TEXT" on darwin, then
        us the resulting SBSection to find "__text" sub section).
      - Set load addresses for a SBSection in the SBTarget interface
      - Set the load addresses of all SBSection in a SBModule in the SBTarget interface
      - Add a new module the an existing target in the SBTarget interface
      - Get a SBSection from a SBAddress object
      
      This should get us a lot closer to being able to symbolicate using LLDB through
      the public API.
      
      llvm-svn: 140437
      cac9c5f9
    • Johnny Chen's avatar
      Add an SB API SBFrame::WatchValue() and exported to the Python interface to · 6027c94d
      Johnny Chen authored
      set a watchpoint Pythonically.  If the find-and-watch-a-variable operation
      fails, an invalid SBValue is returned, instead.
      
      Example Python usage:
      
              value = frame0.WatchValue('global',
                                        lldb.eValueTypeVariableGlobal,
                                        lldb.LLDB_WATCH_TYPE_READ|lldb.LLDB_WATCH_TYPE_WRITE)
      
      Add TestSetWatchpoint.py to exercise this API.
      We have 400 test cases now.
      
      llvm-svn: 140436
      6027c94d
  4. Sep 23, 2011
  5. Sep 21, 2011
    • Jim Ingham's avatar
      Add a new breakpoint type "break by source regular expression". · 969795f1
      Jim Ingham authored
      Fix the RegularExpression class so it has a real copy constructor.
      Fix the breakpoint setting with multiple shared libraries so it makes
        one breakpoint not one per shared library.
      Add SBFileSpecList, to be used to expose the above to the SB interface (not done yet.)
      
      llvm-svn: 140225
      969795f1
  6. Sep 16, 2011
  7. Sep 14, 2011
  8. Sep 13, 2011
  9. Sep 10, 2011
  10. Sep 09, 2011
    • Johnny Chen's avatar
      Fixed the error message: · 8a8ce4ad
      Johnny Chen authored
      ./build-swig-Python.sh: line 76: INTERFACE_FILES: command not found
      
      when running SWIG, which was introduced during the last checkin.
      
      llvm-svn: 139376
      8a8ce4ad
  11. Sep 06, 2011
    • Enrico Granata's avatar
      Redesign of the interaction between Python and frozen objects: · 9128ee2f
      Enrico Granata authored
       - introduced two new classes ValueObjectConstResultChild and ValueObjectConstResultImpl: the first one is a ValueObjectChild obtained from
         a ValueObjectConstResult, the second is a common implementation backend for VOCR and VOCRCh of method calls meant to read through pointers stored
         in frozen objects ; now such reads transparently move from host to target as required
       - as a consequence of the above, removed code that made target-memory copies of expression results in several places throughout LLDB, and also
         removed code that enabled to recognize an expression result VO as such
       - introduced a new GetPointeeData() method in ValueObject that lets you read a given amount of objects of type T from a VO
         representing a T* or T[], and doing dereferences transparently
         in private layer it returns a DataExtractor ; in public layer it returns an instance of a newly created lldb::SBData
       - as GetPointeeData() does the right thing for both frozen and non-frozen ValueObject's, reimplemented ReadPointedString() to use it
         en lieu of doing the raw read itself
       - introduced a new GetData() method in ValueObject that lets you get a copy of the data that backs the ValueObject (for pointers,
         this returns the address without any previous dereferencing steps ; for arrays it actually reads the whole chunk of memory)
         in public layer this returns an SBData, just like GetPointeeData()
       - introduced a new CreateValueFromData() method in SBValue that lets you create a new SBValue from a chunk of data wrapped in an SBData
         the limitation to remember for this kind of SBValue is that they have no address: extracting the address-of for these objects (with any
         of GetAddress(), GetLoadAddress() and AddressOf()) will return invalid values
       - added several tests to check that "p"-ing objects (STL classes, char* and char[]) will do the right thing
      Solved a bug where global pointers to global variables were not dereferenced correctly for display
      New target setting "max-string-summary-length" gives the maximum number of characters to show in a string when summarizing it, instead of the hardcoded 128
      Solved a bug where the summary for char[] and char* would not be shown if the ValueObject's were dumped via the "p" command
      Removed m_pointers_point_to_load_addrs from ValueObject. Introduced a new m_address_type_of_children, which each ValueObject can set to tell the address type
       of any pointers and/or references it creates. In the current codebase, this is load address most of the time (the only notable exception being file
       addresses that generate file address children UNLESS we have a live process)
      Updated help text for summary-string
      Fixed an issue in STL formatters where std::stlcontainer::iterator would match the container's synthetic children providers
      Edited the syntax and help for some commands to have proper argument types
      
      llvm-svn: 139160
      9128ee2f
  12. Aug 23, 2011
  13. Aug 22, 2011
    • Enrico Granata's avatar
      - Support for Python namespaces: · def5391a
      Enrico Granata authored
        If you have a Python module foo, in order to use its contained objects in LLDB you do not need to use
        'from foo import *'. You can use 'import foo', and then refer to items in foo as 'foo.bar', and LLDB
        will know how to resolve bar as a member of foo.
        Accordingly, GNU libstdc++ formatters have been moved from the global namespace to gnu_libstdcpp and a few
        test cases are also updated to reflect the new convention. Python docs suggest using a plain 'import' en lieu of
        'from-import'.
      
      llvm-svn: 138244
      def5391a
  14. Aug 20, 2011
  15. Aug 19, 2011
  16. Aug 18, 2011
    • Enrico Granata's avatar
      First round of code cleanups: · c482a192
      Enrico Granata authored
       - all instances of "vobj" have been renamed to "valobj"
       - class Debugger::Formatting has been renamed to DataVisualization (defined in FormatManager.h/cpp)
         The interface to this class has not changed
       - FormatCategory now uses ConstString's as keys to the navigators instead of repeatedly casting
         from ConstString to const char* and back all the time
         Next step is making the same happen for categories themselves
       - category gnu-libstdc++ is defined in the constructor for a FormatManager
         The source code for it is defined in gnu_libstdcpp.py, drawn from examples/synthetic at compile time
         All references to previous 'osxcpp' name have been removed from both code and file names
      Functional changes:
       - the name of the option to use a summary string for 'type summary add' has changed from the previous --format-string
         to the new --summary-string. It is expected that the short option will change from -f to -s, and -s for --python-script
         will become -o
      
      llvm-svn: 137886
      c482a192
  17. Aug 17, 2011
    • Enrico Granata's avatar
      New category "gnu-libstdc++" provides summary for std::string and synthetic... · 217f91fc
      Enrico Granata authored
      New category "gnu-libstdc++" provides summary for std::string and synthetic children for types std::map, std::list and std::vector
       The category is enabled by default. If you run into issues with it, disable it and the previous behavior of LLDB is restored
       ** This is a temporary solution. The general solution to having formatters pulled in at startup should involve going through the Platform.
      Fixed an issue in type synthetic list where a category with synthetic providers in it was not shown if all the providers were regex-based
      
      llvm-svn: 137850
      217f91fc
    • Enrico Granata's avatar
      Changes to Python commands: · 223383ed
      Enrico Granata authored
       - They now have an SBCommandReturnObject instead of an SBStream as third argument
       - The class CommandObjectPythonFunction has been merged into CommandObjectCommands.cpp
       - The command to manage them is now:
        command script with subcommands add, list, delete, clear
         command alias is returned to its previous functionality
       - Python commands are now part of an user dictionary, instead of being seen as aliases
       
      
      llvm-svn: 137785
      223383ed
  18. Aug 16, 2011
    • Enrico Granata's avatar
      Python commands: · be93a35a
      Enrico Granata authored
       It is now possible to use 'command alias --python' to define a command name that actually triggers execution of a Python function
       (e.g. command alias --python foo foo_impl makes a command named 'foo' that runs Python function 'foo_impl')
       The Python function foo_impl should have as signature: def foo_impl(debugger, args, stream, dict): where
        debugger is an object wrapping an LLDB SBDebugger
        args is the command line arguments, as an unparsed Python string
        stream is an SBStream that represents the standard output
        dict is an internal utility parameter and should be left untouched
       The function should return None on no error, or an error string to describe any problems
      
      llvm-svn: 137722
      be93a35a
  19. Aug 13, 2011
  20. Aug 11, 2011
  21. Aug 06, 2011
  22. Aug 05, 2011
  23. Aug 04, 2011
  24. Jul 29, 2011
    • Enrico Granata's avatar
      Public API changes: · 6f3533fb
      Enrico Granata authored
       - Completely new implementation of SBType
       - Various enhancements in several other classes
      Python synthetic children providers for std::vector<T>, std::list<T> and std::map<K,V>:
       - these return the actual elements into the container as the children of the container
       - basic template name parsing that works (hopefully) on both Clang and GCC
       - find them in examples/synthetic and in the test suite in functionalities/data-formatter/data-formatter-python-synth
      New summary string token ${svar :
       - the syntax is just the same as in ${var but this new token lets you read the values
         coming from the synthetic children provider instead of the actual children
       - Python providers above provide a synthetic child len that returns the number of elements
         into the container
      Full bug fix for the issue in which getting byte size for a non-complete type would crash LLDB
      Several other fixes, including:
       - inverted the order of arguments in the ClangASTType constructor
       - EvaluationPoint now only returns SharedPointer's to Target and Process
       - the help text for several type subcommands now correctly indicates argument-less options as such
      
      llvm-svn: 136504
      6f3533fb
  25. Jul 27, 2011
Loading