Skip to content
  1. Dec 13, 2010
    • Sean Callanan's avatar
      Added support for generating expressions that have · 17827830
      Sean Callanan authored
      access to the members of the Objective-C self object.
      
      The approach we take is to generate the method as a
      @category on top of the self object, and to pass the
      "self" pointer to it.  (_cmd is currently NULL.)
      
      Most changes are in ClangExpressionDeclMap, but the
      change that adds support to the ABIs to pass _cmd
      touches a fair amount of code.
      
      llvm-svn: 121722
      17827830
    • Caroline Tice's avatar
      Revert a small but important part of the EOF handling code that Greg · 01cb3ea2
      Caroline Tice authored
      missed in his previous revert.
      
      llvm-svn: 121712
      01cb3ea2
    • Greg Clayton's avatar
      Fixed a crasher where when a ProcessGDBRemote class was being destroyed, it... · c30abdfa
      Greg Clayton authored
      Fixed a crasher where when a ProcessGDBRemote class was being destroyed, it would eventually destroy the dynamic loader (when the lldb_private::Process::m_dynamic_loader_ap destroys itself in the object member destructor chain). The dynamic loader was calling a pure virtual method in Process which was causing a crash. The quick fix is to reset the auto pointer in the ProcessGDBRemote destructor when  ProcessGDBRemote is still a valid object with all its pure virtual functions intact.
      
      llvm-svn: 121704
      c30abdfa
    • Sean Callanan's avatar
      Updated to latest Clang revision. This involved · 48114479
      Sean Callanan authored
      very minor changes, changing how we get the target
      type from a TypedefType, adding a parameter to
      EnumDecl::Create(), and other minor tweaks.
      
      llvm-svn: 121663
      48114479
  2. Dec 12, 2010
    • Greg Clayton's avatar
      Fixed a multi-threaded race condition that could happen when communication... · bfae66ae
      Greg Clayton authored
      Fixed a multi-threaded race condition that could happen when communication classes are shutting down. We currently don't protect communication connection classes against multi-threaded access. The connection is stored in the lldb_private::Communication.m_connection_ap auto_ptr member. We either need to add protections when accessing this class or not let anything racy occur. With this fix, we are doing the latter.
      
      llvm-svn: 121647
      bfae66ae
    • Greg Clayton's avatar
      Fixed an issue where the macosx dynamic loader, on the first shared library... · 7d07a45f
      Greg Clayton authored
      Fixed an issue where the macosx dynamic loader, on the first shared library loaded notification, wasn't properly removing shared libraries from the target that didn't get loaded. This usually happens when a different shared library is loaded in place of another due to DYLD_LIBRARY_PATH or DYLD_FRAMEWORK_PATH environment variables. We now properly remove any images that didn't make it into the executable.
      
      llvm-svn: 121641
      7d07a45f
    • Greg Clayton's avatar
      Added the ability for SBTarget to resolve load addresses (convert lldb::addr_t... · ac2eb9b1
      Greg Clayton authored
      Added the ability for SBTarget to resolve load addresses (convert lldb::addr_t values into resolved SBAddress objects). These SBAddress objects can then be used to resolve a symbol context using "lldb::SBSymbolContext ResolveSymbolContextForAddress (const lldb::SBAddress& addr, uint32_t resolve_scope);".
      
      llvm-svn: 121638
      ac2eb9b1
  3. Dec 11, 2010
  4. Dec 10, 2010
    • Sean Callanan's avatar
      Simplified the code that handles overloaded · a43f20df
      Sean Callanan authored
      operator names.
      
      llvm-svn: 121511
      a43f20df
    • Sean Callanan's avatar
      Fixed detection of overloaded operators in type · bfeff8c4
      Sean Callanan authored
      information.  Previously, "operator[]" was not
      being recognized because the detector was looking
      for "operator " as a prefix.  Now we handle both
      cases.
      
      llvm-svn: 121456
      bfeff8c4
    • Caroline Tice's avatar
      · 2d5289d6
      Caroline Tice authored
      Various fixes mostly relating to the User Settings stuff:
      
      - Added new utility function to Arg, GetQuotedCommandString, which re-assembles
      the args into a string, replacing quotes that were originally there.
      
      - Modified user settings stuff to always show individual elements when printing out
      arrays and dictionaries.
      
      - Added more extensive help to 'settings set', explaining more about dictionaries
      and arrays (including current dictionary syntax).
      
      - Fixed bug in user settings  where quotes were being stripped and lost, so that
      sometimes array or dictionary elements that ought to have been a single element
      were being split up.
      
      llvm-svn: 121438
      2d5289d6
    • Jim Ingham's avatar
      Changing the ObjC find method implementation to use a ClangUtilityFunction... · 957373fc
      Jim Ingham authored
      Changing the ObjC find method implementation to use a ClangUtilityFunction inserted into the target.  Consolidate all the
      logic for finding the target of a method dispatch into this function, insert & call it.  Gets calls to super, and all the
      fixup & fixedup variants working properly.  Also gets the class from the object so that we step through KVO wrapper methods
      into the actual user code.
      
      llvm-svn: 121437
      957373fc
  5. Dec 09, 2010
    • Caroline Tice's avatar
      · 844d2303
      Caroline Tice authored
      Modify HandleCommand to not do any argument processing until it has determined whether or
      not the command should take raw input, then handle & dispatch the arguments appropriately.
      
      Also change the 'alias' command to be a command that takes raw input.  This is necessary to
      allow aliases to be created for other commands that take raw input and might want to include
      raw input in the alias itself.
      
      Fix a bug in the aliasing mechanism when creating aliases for commands with 3-or-more words.
      
      Raw input should now be properly handled by all the command and alias mechanisms.
      
      llvm-svn: 121423
      844d2303
    • Jim Ingham's avatar
      process launch now asks to kill the current process if it is alive, and if you... · bb9caf73
      Jim Ingham authored
      process launch now asks to kill the current process if it is alive, and if you affirm, does so for you.
      Also added #pragma mark for the command objects defined in the file.
      
      llvm-svn: 121396
      bb9caf73
  6. Dec 08, 2010
    • Greg Clayton's avatar
      Fixed an issue in our source manager where we were permanently caching source · 9625d08c
      Greg Clayton authored
      file data, so if a source file was modified, we would always show the first
      cached copy of the source data. We now check file modification times when
      displaying source info so we can show the update source info.
      
      llvm-svn: 121278
      9625d08c
    • Greg Clayton's avatar
      Added the ability to dump sections to a certain depth (for when sections · 10177aa0
      Greg Clayton authored
      have children sections).
      
      Modified SectionLoadList to do it's own multi-threaded protected on its map.
      The ThreadSafeSTLMap class was difficult to deal with and wasn't providing
      much utility, it was only getting in the way.
      
      Make sure when the communication read thread is about to exit, it clears the
      thread in the main class.
      
      Fixed the ModuleList to correctly ignore architectures and UUIDs if they aren't
      valid when searching for a matching module. If we specified a file with no arch,
      and then modified the file and loaded it again, it would not match on subsequent
      searches if the arch was invalid since it would compare an invalid architecture
      to the one that was found or selected within the shared library or executable.
      This was causing stale modules to stay around in the global module list when they
      should have been removed.
      
      Removed deprecated functions from the DynamicLoaderMacOSXDYLD class.
      
      Modified "ProcessGDBRemote::IsAlive" to check if we are connected to a gdb
      server and also make sure our process hasn't exited.
      
      llvm-svn: 121236
      10177aa0
    • Greg Clayton's avatar
      Fixed up the error message for when a file is not supported. · bc5cad6c
      Greg Clayton authored
      llvm-svn: 121235
      bc5cad6c
    • Sean Callanan's avatar
      Fixed a problem where the AST importer would assert() · e97ae90d
      Sean Callanan authored
      because the diagnostic client for one of the AST
      contexts is NULL.  Now we provide a form of Miranda
      rights to AST contexts: they are provided with a very
      simple diagnostic client if they do not have one
      themselves.
      
      llvm-svn: 121225
      e97ae90d
  7. Dec 07, 2010
    • Sean Callanan's avatar
      More logging for use in debugging the interactions · a162ebaf
      Sean Callanan authored
      between clients of the LLDB API and the expression
      parser.
      
      llvm-svn: 121193
      a162ebaf
    • Caroline Tice's avatar
      · d9d63369
      Caroline Tice authored
      - Fix alias-building & resolving to properly handle optional arguments for command options.
      - Add logging for command resolution ('log enable lldb commands')
      - Fix alias resolution to properly handle commands that take raw input (resolve the alias, but
        don't muck up the raw arguments).
      
      Net result:  Among other things, 'expr' command can now take strings with escaped characters and
      not have the command handling & alias resolution code muck up the escaped characters. E.g.
       'expr printf ("\n\n\tHello there!")' should now work properly.
      
      
      Not working yet:  Creating aliases with raw input for commands that take raw input.  Working on that.
      e.g. 'command alias print_hi expr printf ("\n\tHi!")' does not work yet.
      
      llvm-svn: 121171
      d9d63369
    • Greg Clayton's avatar
      Cleanup before making the objective C ivar changes. · 2a43368a
      Greg Clayton authored
      llvm-svn: 121158
      2a43368a
    • Greg Clayton's avatar
      Improved the "image dump section" command output by making sure · f6693584
      Greg Clayton authored
      it indents and shows things correctly. When we are debugging DWARF
      in .o files with debug map, we can see the remapped sections by
      dumping the sections for the .o files by explicitly dumping the
      module by name. For example, debugging the lldb/test/class_types
      example on MacOSX without a dSYM file we can make a query that 
      causes the main.o file to be loaded, then we can do a:
      
      (lldb) image dump section main.o
      
      This will show the exact section map that is used and can help
      track down when things are going wrong with DWARF in .o files with
      debug map.
      
      llvm-svn: 121154
      f6693584
    • Sean Callanan's avatar
      Logging improvements to help identify major events in · c673a6e9
      Sean Callanan authored
      LLDB expression execution.
      We also now print the argument structure after execution,
      to allow us to verify that the expression did indeed
      execute correctly.
      
      llvm-svn: 121126
      c673a6e9
    • Greg Clayton's avatar
      Fixed an issue when debugging with DWARF in the .o files where · 65e364e5
      Greg Clayton authored
      if two functions had the same demangled names (constructors where
      we have the in charge and not in charge version) we could end up
      mixing the two up when making the function in the DWARF. This was
      because we need to lookup the symbol by name and we need to use the
      mangled name if there is one. This ensures we get the correct address
      and that we resolve the linked addresses correctly for DWARf with debug
      map.
      
      llvm-svn: 121116
      65e364e5
    • Greg Clayton's avatar
      Added symbol table access through the module for now. We might need to expose · bbdabce2
      Greg Clayton authored
      a SBSymtab class, but for now, we expose the symbols through the module.
      
      llvm-svn: 121112
      bbdabce2
    • Jim Ingham's avatar
      895c9824
    • Sean Callanan's avatar
      Fixes to make id work as well as well as fix minor errors · f6c7308b
      Sean Callanan authored
      when calling built-ins.
      
      llvm-svn: 121070
      f6c7308b
    • Greg Clayton's avatar
      When shared libraries are unloaded, they are now removed from the target · a4d78300
      Greg Clayton authored
      ModuleList so they don't show up in the images. Breakpoint locations that are
      in shared libraries that get unloaded will persist though so that if you
      have plug-ins that load/unload and you have a breakpoint set on functions
      in the plug-ins, the hit counts will persist between loads/unloads.
      
      llvm-svn: 121069
      a4d78300
  8. Dec 06, 2010
  9. Dec 05, 2010
  10. Dec 04, 2010
Loading