Skip to content
  1. Sep 30, 2011
    • Johnny Chen's avatar
      Migrate the in_range(symbol, section) and symbol_iter(module, section) utility functions · c44e20ce
      Johnny Chen authored
      from lldbutil.py to the lldb.py proper.  The in_range() function becomes a function in
      the lldb module.  And the symbol_iter() function becomes a method within the SBModule
      called symbol_in_section_iter().  Example:
      
              # Iterates the text section and prints each symbols within each sub-section.
              for subsec in text_sec:
                  print INDENT + repr(subsec)
                  for sym in exe_module.symbol_in_section_iter(subsec):
                      print INDENT2 + repr(sym)
                      print INDENT2 + 'symbol type: %s' % symbol_type_to_str(sym.GetType())
      
      might produce this following output:
      
          [0x0000000100001780-0x0000000100001d5c) a.out.__TEXT.__text
              id = {0x00000004}, name = 'mask_access(MaskAction, unsigned int)', range = [0x00000001000017c0-0x0000000100001870)
              symbol type: code
              id = {0x00000008}, name = 'thread_func(void*)', range = [0x0000000100001870-0x00000001000019b0)
              symbol type: code
              id = {0x0000000c}, name = 'main', range = [0x00000001000019b0-0x0000000100001d5c)
              symbol type: code
              id = {0x00000023}, name = 'start', address = 0x0000000100001780
              symbol type: code
          [0x0000000100001d5c-0x0000000100001da4) a.out.__TEXT.__stubs
              id = {0x00000024}, name = '__stack_chk_fail', range = [0x0000000100001d5c-0x0000000100001d62)
              symbol type: trampoline
              id = {0x00000028}, name = 'exit', range = [0x0000000100001d62-0x0000000100001d68)
              symbol type: trampoline
              id = {0x00000029}, name = 'fflush', range = [0x0000000100001d68-0x0000000100001d6e)
              symbol type: trampoline
              id = {0x0000002a}, name = 'fgets', range = [0x0000000100001d6e-0x0000000100001d74)
              symbol type: trampoline
              id = {0x0000002b}, name = 'printf', range = [0x0000000100001d74-0x0000000100001d7a)
              symbol type: trampoline
              id = {0x0000002c}, name = 'pthread_create', range = [0x0000000100001d7a-0x0000000100001d80)
              symbol type: trampoline
              id = {0x0000002d}, name = 'pthread_join', range = [0x0000000100001d80-0x0000000100001d86)
              symbol type: trampoline
              id = {0x0000002e}, name = 'pthread_mutex_lock', range = [0x0000000100001d86-0x0000000100001d8c)
              symbol type: trampoline
              id = {0x0000002f}, name = 'pthread_mutex_unlock', range = [0x0000000100001d8c-0x0000000100001d92)
              symbol type: trampoline
              id = {0x00000030}, name = 'rand', range = [0x0000000100001d92-0x0000000100001d98)
              symbol type: trampoline
              id = {0x00000031}, name = 'strtoul', range = [0x0000000100001d98-0x0000000100001d9e)
              symbol type: trampoline
              id = {0x00000032}, name = 'usleep', range = [0x0000000100001d9e-0x0000000100001da4)
              symbol type: trampoline
          [0x0000000100001da4-0x0000000100001e2c) a.out.__TEXT.__stub_helper
          [0x0000000100001e2c-0x0000000100001f10) a.out.__TEXT.__cstring
          [0x0000000100001f10-0x0000000100001f68) a.out.__TEXT.__unwind_info
          [0x0000000100001f68-0x0000000100001ff8) a.out.__TEXT.__eh_frame
      
      llvm-svn: 140830
      c44e20ce
  2. Sep 29, 2011
  3. Sep 28, 2011
  4. Sep 27, 2011
  5. Sep 26, 2011
  6. Sep 24, 2011
    • Johnny Chen's avatar
      Fix comment. · 57087f3d
      Johnny Chen authored
      llvm-svn: 140450
      57087f3d
    • Johnny Chen's avatar
      Add FindValue() and WatchValue() fuzz calls to the mix. · 90d6fe5d
      Johnny Chen authored
      llvm-svn: 140439
      90d6fe5d
    • 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
  7. Sep 23, 2011
  8. Sep 22, 2011
  9. 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
  10. Sep 20, 2011
  11. Sep 16, 2011
  12. Sep 15, 2011
  13. Sep 09, 2011
    • Enrico Granata's avatar
      Adding two new options to the 'help' command: · 08633eea
      Enrico Granata authored
       --show-aliases (-a) shows aliases for commands, as well as built-in commands
       --hide-user-defined (-u) hides user defined commands
      by default 'help' without arguments does not show aliases anymore. to see them, add --show-aliases
      to have only built-in commands appear, use 'help --hide-user-defined' ; there is currently no way to hide
      built-in commands from the help output
      'help command' is not changed by this commit, and help is shown even if command is an alias and -a is not specified
      
      llvm-svn: 139377
      08633eea
    • Jim Ingham's avatar
      Move the SourceManager from the Debugger to the Target. That way it can store... · b7f6b2fa
      Jim Ingham authored
      Move the SourceManager from the Debugger to the Target.  That way it can store the per-Target default Source File & Line.
      Set the default Source File & line to main (if it can be found.) at startup.  Selecting the current thread & or frame resets 
      the current source file & line, and "source list" as well as the breakpoint command "break set -l <NUM>" will use the 
      current source file.
      
      llvm-svn: 139323
      b7f6b2fa
  14. Sep 06, 2011
Loading