Skip to content
  1. Oct 27, 2010
    • Greg Clayton's avatar
      Updated the lldb_private::Flags class to have better method names and made · 73b472d4
      Greg Clayton authored
      all of the calls inlined in the header file for better performance.
      
      Fixed the summary for C string types (array of chars (with any combo if
      modifiers), and pointers to chars) work in all cases.
      
      Fixed an issue where a forward declaration to a clang type could cause itself
      to resolve itself more than once if, during the resolving of the type itself
      it caused something to try and resolve itself again. We now remove the clang
      type from the forward declaration map in the DWARF parser when we start to 
      resolve it and avoid this additional call. This should stop any duplicate
      members from appearing and throwing all the alignment of structs, unions and
      classes.
      
      llvm-svn: 117437
      73b472d4
    • Greg Clayton's avatar
      After a recent fix to not set the default architecture to "x86_64", the string... · 307de254
      Greg Clayton authored
      After a recent fix to not set the default architecture to "x86_64", the string value for the default arch was coming out as a value that shouldn't be user visible. Now we don't show any value when it isn't set.
      
      llvm-svn: 117432
      307de254
    • Sean Callanan's avatar
      Removed an inappropriate function lookup path. · 11d00c22
      Sean Callanan authored
      Also made type lookup lazy for types that are
      hidden behind pointers.
      
      llvm-svn: 117430
      11d00c22
    • Caroline Tice's avatar
      Clean up the API logging code: · 750cd175
      Caroline Tice authored
            - Try to reduce logging to one line per function call instead of tw
            - Put all arguments & their values into log for calls
            - Add 'this' parameter information to function call logging, making it show the appropriate
              internal pointer (this.obj, this.sp, this.ap...)
            - Clean up some return values
            - Remove logging of constructors that construct empty objects
            - Change '==>' to '=>'  for showing result values...
            - Fix various minor bugs
            - Add some protected 'get' functions to help getting the internal pointers for the 'this' arguments...      
      
      llvm-svn: 117417
      750cd175
  2. Oct 26, 2010
  3. Oct 25, 2010
    • Greg Clayton's avatar
      Don't set the default architecture to x86_64. Leave it NULL so that it isn't... · 0668d1e0
      Greg Clayton authored
      Don't set the default architecture to x86_64. Leave it NULL so that it isn't set to anything and so that any single architecture binary will adopt that architecture instead of posting an error stating the binary doesn't contain "x86_64".
      
      llvm-svn: 117292
      0668d1e0
    • Jason Molenda's avatar
      Check in the native lldb unwinder. · ab4f1924
      Jason Molenda authored
      Not yet enabled as the default unwinder but there are no known
      backtrace problems with the code at this point.
      
      Added 'log enable lldb unwind' to help diagnose backtrace problems;
      this output needs a little refining but it's a good first step.
      
      eh_frame information is currently read unconditionally - the code
      is structured to allow this to be delayed until it's actually needed.
      There is a performance hit when you have to parse the eh_frame
      information for any largeish executable/library so it's necessary
      to avoid if possible.
      
      It's confusing having both the UnwindPlan::RegisterLocation struct
      and the RegisterConextLLDB::RegisterLocation struct, I need to rename
      one of them.
      
      The writing of registers isn't done in the RegisterConextLLDB subclass
      yet; neither is the running of complex DWARF expressions from eh_frame
      (e.g. used for _sigtramp on Mac OS X).
      
      llvm-svn: 117256
      ab4f1924
    • Sean Callanan's avatar
      Fixes to Objective-C built-in type handling. · a242417a
      Sean Callanan authored
      Specifically, we fixed handling of the objc_class
      built-in type, which allowed us to pass
      named Objective-C objects to functions,
      call variable list -t on objects safely, etc.
      
      llvm-svn: 117249
      a242417a
  4. Oct 24, 2010
    • Sean Callanan's avatar
      Added a hack so that "unichar" is resolved to · 64186e7f
      Sean Callanan authored
      "unsigned short."  As discussed in the comments,
      this is pending a better solution to the problem
      of types not in the debug information but readily
      available through headers.
      
      llvm-svn: 117247
      64186e7f
  5. Oct 23, 2010
  6. Oct 22, 2010
  7. Oct 21, 2010
  8. Oct 20, 2010
    • Johnny Chen's avatar
      1ee3853f
    • Greg Clayton's avatar
      Fixed an issue where we were resolving paths when we should have been. · 274060b6
      Greg Clayton authored
      So the issue here was that we have lldb_private::FileSpec that by default was 
      always resolving a path when using the:
      
      FileSpec::FileSpec (const char *path);
      
      and in the:
      
      void FileSpec::SetFile(const char *pathname, bool resolve = true);
      
      This isn't what we want in many many cases. One example is you have "/tmp" on
      your file system which is really "/private/tmp". You compile code in that
      directory and end up with debug info that mentions "/tmp/file.c". Then you 
      type:
      
      (lldb) breakpoint set --file file.c --line 5
      
      If your current working directory is "/tmp", then "file.c" would be turned 
      into "/private/tmp/file.c" which won't match anything in the debug info.
      Also, it should have been just a FileSpec with no directory and a filename
      of "file.c" which could (and should) potentially match any instances of "file.c"
      in the debug info.
      
      So I removed the constructor that just takes a path:
      
      FileSpec::FileSpec (const char *path); // REMOVED
      
      You must now use the other constructor that has a "bool resolve" parameter that you must always supply:
      
      FileSpec::FileSpec (const char *path, bool resolve);
      
      I also removed the default parameter to SetFile():
      
      void FileSpec::SetFile(const char *pathname, bool resolve);
      
      And fixed all of the code to use the right settings.
      
      llvm-svn: 116944
      274060b6
    • Jim Ingham's avatar
      Don't re-insert disabled breakpoint locations. · d4ce0a15
      Jim Ingham authored
      llvm-svn: 116908
      d4ce0a15
    • Johnny Chen's avatar
      For UserSettingsController::UpdateDictionaryVariable(), clear the dictionary · 73b4f711
      Johnny Chen authored
      if passed in a NULL new_value and the operation intended is eVarSetOperationAssign.
      This fixed a bug where in TestSettings.py:
      
              # Set the run-args and the env-vars.
              self.runCmd('settings set target.process.run-args A B C')
              self.runCmd('settings set target.process.env-vars ["MY_ENV_VAR"]=YES')
              # And add hooks to restore the settings during tearDown().
              self.addTearDownHook(
                  lambda: self.runCmd("settings set -r target.process.run-args"))
              self.addTearDownHook(
                  lambda: self.runCmd("settings set -r target.process.env-vars"))
      
      "settings set -r target.process.env-vars" was not restoring the original env-vars
      setting.
      
      llvm-svn: 116895
      73b4f711
    • Jim Ingham's avatar
      Don't cache the public stop reason, since it can change as plan completion... · b15bfc75
      Jim Ingham authored
      Don't cache the public stop reason, since it can change as plan completion gets processed.  That means GetStopReason needs to return a shared pointer, not a pointer to the thread's cached version.  Also allow the thread plans to get and set the thread private stop reason - that is usually more appropriate for the logic the thread plans need to do.
      
      llvm-svn: 116892
      b15bfc75
    • Sean Callanan's avatar
      Fixed a silly bug that was causing the "this" pointer · 104a6e9b
      Sean Callanan authored
      to be passed improperly to expressions in certain
      cases.
      
      llvm-svn: 116884
      104a6e9b
    • Greg Clayton's avatar
      Ok, last commit for the running processes in a new window. Now you can · 913c4fa1
      Greg Clayton authored
      optionally specify the tty you want to use if you want to use an existing
      terminal window by giving a partial or full path name:
      
      (lldb) process launch --tty=ttys002
      
      This would find the terminal window (or tab on MacOSX) that has ttys002 in its
      tty path and use it. If it isn't found, it will use a new terminal window.
      
      llvm-svn: 116878
      913c4fa1
    • Sean Callanan's avatar
      Removed a bit of dead code. Thanks to Eric · 49249493
      Sean Callanan authored
      Christopher for pointing it out.
      
      llvm-svn: 116871
      49249493
    • Sean Callanan's avatar
      Expressions now claim responsibility for all stops · 3e6fedca
      Sean Callanan authored
      that occur while they run.  This means that they
      clean up after themselves even when they crash.
      
      llvm-svn: 116870
      3e6fedca
  9. Oct 19, 2010
Loading