Skip to content
  1. Mar 02, 2011
    • Johnny Chen's avatar
      Add two utility functions to lldbutil.py: · 43766d6f
      Johnny Chen authored
      o int_to_bytearray()
      o bytearray_to_int()
      
      They return/interpret the bytearray in the little endian format.
      For big endian, simply perform ba.reverse() on the bytearray object.
      
      And modify TestProcessAPI.py to take advantage of the functions.
      
      llvm-svn: 126813
      43766d6f
  2. Dec 08, 2010
    • Johnny Chen's avatar
      Add more docstring for the lldb_iter() utility function which provides a compact · b340e6bb
      Johnny Chen authored
      way of iterating through an aggregate data structure.  The added example usage
      is from an actual use in test/foundation/TestSymbolTable.py:
      
          2. Pass a container of aggregate which provides APIs to get to the size and
             the element of the aggregate:
      
          # Module is a container of symbol table 
          module = target.FindModule(filespec)
          for symbol in lldb_iter(module, 'GetNumSymbols', 'GetSymbolAtIndex'):
              name = symbol.GetName()
              ...
      
      llvm-svn: 121271
      b340e6bb
  3. Nov 03, 2010
  4. Oct 25, 2010
  5. Oct 22, 2010
  6. Oct 18, 2010
  7. Oct 16, 2010
  8. Oct 15, 2010
    • Johnny Chen's avatar
      Make sure to close the string buffer when finished. · 2f666190
      Johnny Chen authored
      llvm-svn: 116621
      2f666190
    • Johnny Chen's avatar
      This is an initial version of test driver enhanceent to be able to dump the · 150c3cc8
      Johnny Chen authored
      session info after a test case failure, allowing more direct inspection of
      debugger session which leads to the test failure.
      
      For a simple usage scenario:
      
      [18:06:26] johnny:/Volumes/data/lldb/svn/trunk/test $ ./dotest.py -v . 2> ~/Developer/Log/lldbtest.log 
      
      ...
      
      [18:14:43] johnny:/Volumes/data/lldb/svn/trunk/test $ ls -l .session-*
      -rw-r--r--  1 johnny  admin  1359 Oct 14 18:06 .session-TestArrayTypes.ArrayTypesTestCase.test_with_dwarf_and_run_command
      -rw-r--r--  1 johnny  admin  2054 Oct 14 18:07 .session-TestClassTypes.ClassTypesTestCase.test_with_dsym_and_expr_parser
      -rw-r--r--  1 johnny  admin  2055 Oct 14 18:07 .session-TestClassTypes.ClassTypesTestCase.test_with_dwarf_and_expr_parser
      -rw-r--r--  1 johnny  admin  1351 Oct 14 17:57 .session-TestClassTypes.ClassTypesTestCase.test_with_dwarf_and_run_command
      [18:14:51] johnny:/Volumes/data/lldb/svn/trunk/test $ 
      
      The test case which failed will have its recorded session info dumped to a
      .session-* file in the current working directory.  For test suite using
      relocated directory, expect to find the .session-* files there.
      
      In this checkin, I also add @skip decorator to the two test methods in
      test/foundation/TestObjCMethods.py as it looks like the test suite is
      deadlocking when running the tests.  More investigations are needed.
      
      llvm-svn: 116552
      150c3cc8
  9. Oct 10, 2010
  10. Oct 09, 2010
  11. Oct 08, 2010
  12. Oct 07, 2010
  13. Sep 09, 2010
    • Johnny Chen's avatar
      Added GetStackFrames(thread) utility function. · 43a651c6
      Johnny Chen authored
      llvm-svn: 113460
      43a651c6
    • Johnny Chen's avatar
      Added a lldbutil.py module, which contains utility functions which can be used · 30ee4ef3
      Johnny Chen authored
      from scripting applications.  An example usage from TestConditionalBreak.py is:
      
                  import lldbutil
                  lldbutil.PrintStackTrace(thread)
      
      ./dotest.py -v conditional_break
      ----------------------------------------------------------------------
      Collected 2 tests
      
      test_with_dsym (TestConditionalBreak.ConditionalBreakTestCase)
      Exercise some thread and frame APIs to break if c() is called by a(). ... Stack trace for thread id=0x2e03 name=None queue=com.apple.main-thread:
        frame #0: a.out`c at main.c:39
        frame #1: a.out`b at main.c:34
        frame #2: a.out`a at main.c:25
        frame #3: a.out`main at main.c:44
        frame #4: a.out`start
      Stack trace for thread id=0x2e03 name=None queue=com.apple.main-thread:
        frame #0: a.out`c at main.c:39
        frame #1: a.out`b at main.c:34
        frame #2: a.out`main at main.c:47
        frame #3: a.out`start
      Stack trace for thread id=0x2e03 name=None queue=com.apple.main-thread:
        frame #0: a.out`c at main.c:39
        frame #1: a.out`a at main.c:27
        frame #2: a.out`main at main.c:50
        frame #3: a.out`start
      ok
      test_with_dwarf (TestConditionalBreak.ConditionalBreakTestCase)
      Exercise some thread and frame APIs to break if c() is called by a(). ... Stack trace for thread id=0x2e03 name=None queue=com.apple.main-thread:
        frame #0: a.out`c at main.c:39
        frame #1: a.out`b at main.c:34
        frame #2: a.out`a at main.c:25
        frame #3: a.out`main at main.c:44
        frame #4: a.out`start
      Stack trace for thread id=0x2e03 name=None queue=com.apple.main-thread:
        frame #0: a.out`c at main.c:39
        frame #1: a.out`b at main.c:34
        frame #2: a.out`main at main.c:47
        frame #3: a.out`start
      Stack trace for thread id=0x2e03 name=None queue=com.apple.main-thread:
        frame #0: a.out`c at main.c:39
        frame #1: a.out`a at main.c:27
        frame #2: a.out`main at main.c:50
        frame #3: a.out`start
      ok
      
      ----------------------------------------------------------------------
      Ran 2 tests in 7.803s
      
      OK
      
      llvm-svn: 113432
      30ee4ef3
Loading