Skip to content
  1. Oct 18, 2011
  2. Oct 17, 2011
    • Enrico Granata's avatar
      this patch introduces a new command script import command which takes as input... · a9dbf432
      Enrico Granata authored
      this patch introduces a new command script import command which takes as input a filename for a Python script and imports the module contained in that file. the containing directory is added to the Python path such that dependencies are honored. also, the module may contain an __lldb_init_module(debugger,dict) function, which gets called after importing, and which can somehow initialize the module's interaction with lldb
      
      llvm-svn: 142283
      a9dbf432
    • Johnny Chen's avatar
      Rename test file. · 9c7b04cb
      Johnny Chen authored
      llvm-svn: 142242
      9c7b04cb
    • Johnny Chen's avatar
      Fix wrong docstring. · 8289e365
      Johnny Chen authored
      llvm-svn: 142241
      8289e365
    • Johnny Chen's avatar
      Add a commnad to set a condition for a watchpoint. Example: · 16dcf718
      Johnny Chen authored
          watchpoint modify -c 'global==5'
      
      modifies the last created watchpoint so that the condition expression
      is evaluated at the stop point to decide whether we should proceed with
      the stopping.
      
      Also add SBWatchpont::SetCondition(const char *condition) to set condition
      programmatically.
      
      Test cases to come later.
      
      llvm-svn: 142227
      16dcf718
  3. Oct 14, 2011
  4. Oct 12, 2011
  5. Oct 11, 2011
  6. Oct 08, 2011
  7. Oct 07, 2011
  8. Oct 06, 2011
  9. Oct 05, 2011
  10. Oct 04, 2011
  11. Oct 01, 2011
  12. Sep 30, 2011
    • Johnny Chen's avatar
      o lldbtest.py: · 86268e44
      Johnny Chen authored
      Add a keyword argument 'endstr' to TestBase.expect() method to assert that the output
      will end with 'endstr'.
      
      Add TestBase.switch_to_thread_with_stop_reason(stop_reason) to select the thread with
      the stop reason = 'stop_reason' as the current thread.
      
      o TestWatchLocation.py:
      
      Modified to switch to the stopped thread with stop reason = watchpoint and to evaluate
      an expression with expected output for stronger assertion.
      
      llvm-svn: 140890
      86268e44
    • Johnny Chen's avatar
      Add an accompanying option to the 'frame variable -w' command to, instead of watching the variable, · b62a3be1
      Johnny Chen authored
      watch the location pointed to by the variable.  An example,
      
      (lldb) frame variable -w write -x 1 -g g_char_ptr
      (char *) g_char_ptr = 0x0000000100100860 ""...
      Watchpoint created: WatchpointLocation 1: addr = 0x100100860 size = 1 state = enabled type = w
          declare @ '/Volumes/data/lldb/svn/trunk/test/functionalities/watchpoint/hello_watchlocation/main.cpp:21'
      
      ...
      
      (lldb) c
      Process 3936 resuming
      
      ...
      
      rocess 3936 stopped
      * thread #2: tid = 0x3403, 0x00000001000009b7 a.out`do_bad_thing_with_location(char*, char) + 23 at main.cpp:27, stop reason = watchpoint 1
          frame #0: 0x00000001000009b7 a.out`do_bad_thing_with_location(char*, char) + 23 at main.cpp:27
         24  	do_bad_thing_with_location(char *char_ptr, char new_val)
         25  	{
         26  	    *char_ptr = new_val;
      -> 27  	}
         28  	
         29  	uint32_t access_pool (uint32_t flag = 0);
         30  	
      (lldb) 
      
      Also add TestWatchLocation.py test to exercise this functionality.
      
      llvm-svn: 140836
      b62a3be1
    • Johnny Chen's avatar
      Fix extraneous import as a result of the last change. · 1887fce1
      Johnny Chen authored
      llvm-svn: 140832
      1887fce1
    • 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
  13. Sep 29, 2011
  14. Sep 28, 2011
  15. Sep 27, 2011
Loading