Skip to content
  1. Jul 17, 2012
  2. Jul 14, 2012
  3. Jul 13, 2012
  4. Jul 12, 2012
    • Sean Callanan's avatar
      Added a check to the Section to make sure we don't · 27e02d07
      Sean Callanan authored
      return sections that don't have valid modules.
      
      <rdar://problem/11605824>
      
      llvm-svn: 160141
      27e02d07
    • Greg Clayton's avatar
      <rdar://problem/11791234> · 4e0fe8ab
      Greg Clayton authored
      Fixed a case where the python interpreter could end up holding onto a previous lldb::SBProcess (probably in lldb.process) when run under Xcode. Prior to this fix, the lldb::SBProcess held onto a shared pointer to a lldb_private::Process. This in turn could cause the process to still have a thread list with stack frames. The stack frames would have module shared pointers in the lldb_private::SymbolContext objects. 
      
      We also had issues with things staying in the shared module list too long when we found things by UUID (we didn't remove the out of date ModuleSP from the global module cache).
      
      Now all of this is fixed and everything goes away between runs.
      
      llvm-svn: 160140
      4e0fe8ab
    • Sean Callanan's avatar
      Blacklisted a UUID that is generated by OpenCL on · 41f88aad
      Sean Callanan authored
      Mac OS X, because the UUID is the same for all
      OpenCL-generated dylibs and therefore would
      conflict.
      
      <rdar://problem/11620586>
      
      llvm-svn: 160135
      41f88aad
    • Filipe Cabecinhas's avatar
      Provide more information when process launch can't change directory to the · 0c251adf
      Filipe Cabecinhas authored
      path passed with -w
      
      Test this functionality.
      
      llvm-svn: 160130
      0c251adf
    • Jim Ingham's avatar
      Add a command channel to wait on along with the file descriptor the... · 17ce5b97
      Jim Ingham authored
      Add a command channel to wait on along with the file descriptor the ConnectionFileDescriptor class is managing, so we can always pop ourselves out of our select call regardless of how well behaved the channel we are talking to is.
      
      <rdar://problem/11448282>
      
      llvm-svn: 160100
      17ce5b97
    • Sean Callanan's avatar
      Added a mutex to the call frame info to guard · 7d69f12e
      Sean Callanan authored
      generation of the FDE index.
      
      <rdar://problem/11813705>
      
      llvm-svn: 160099
      7d69f12e
    • Jason Molenda's avatar
      Add a new 'target modules show-unwind' command to show the different · 380241a8
      Jason Molenda authored
      UnwindPlans for a function.  This specifically does not use any
      previously-generated UnwindPlans so if any logging is performed
      while creating the UnwindPlans, it will be repeated.  This is
      useful for when an lldb stack trace is not correct and you want
      to gather diagnostic information from the user -- they can do 
      log enable -v lldb unwind, image show-unwind of the function, and
      you'll get the full logging as the UnwindPlans are recreated.
      
      llvm-svn: 160095
      380241a8
    • Greg Clayton's avatar
      Removed unused variable to quiet a warning. · 22eec425
      Greg Clayton authored
      llvm-svn: 160086
      22eec425
    • Greg Clayton's avatar
      Modifying the "address" format, which prints a pointer and a description of... · c3a86bf9
      Greg Clayton authored
      Modifying the "address" format, which prints a pointer and a description of what it points to, to detect when the deref of that pointer points to something valid. So if you have:
      
          % cat sp.cpp 
          #include <tr1/memory>
      
          class A
          {
          public:
              A (): m_i (12) {}
              virtual ~A() {}
          private:
              int m_i;
          };
      
          int main (int argc, char const *argv[], char const *envp[])
          {
              A *a_pointers[2] = { NULL, NULL };
              A a1;
              A a2;
              a_pointers[0] = &a1;
              a_pointers[1] = &a2;
              return 0;
          }
      
      
      And you stop at the "return 0", you can now read memory using the "address" format and see:
      
      (lldb) memory read --format address `&a_pointers`
      0x7fff5fbff870: 0x00007fff5fbff860 -> 0x00000001000010b0 vtable for A + 16
      0x7fff5fbff878: 0x00007fff5fbff850 -> 0x00000001000010b0 vtable for A + 16
      0x7fff5fbff880: 0x00007fff5fbff8d0
      0x7fff5fbff888: 0x00007fff5fbff8c0
      0x7fff5fbff890: 0x0000000000000001
      0x7fff5fbff898: 0x36d54c275add2294
      0x7fff5fbff8a0: 0x00007fff5fbff8b0
      0x7fff5fbff8a8: 0x0000000100000bb4 a.out`start + 52
      
      Note the extra dereference that was applied to 0x00007fff5fbff860 and 0x00007fff5fbff850 so we can see that these are "A" classes.
      
      llvm-svn: 160085
      c3a86bf9
  5. Jul 11, 2012
  6. Jul 10, 2012
  7. Jul 09, 2012
Loading