- Dec 13, 2010
-
-
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
-
Johnny Chen authored
with both command line and Python API tests. llvm-svn: 121717
-
Caroline Tice authored
missed in his previous revert. llvm-svn: 121712
-
Johnny Chen authored
matching the source line number displayed. llvm-svn: 121706
-
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
-
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
-
- Dec 12, 2010
-
-
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
-
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
-
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
-
- Dec 11, 2010
-
-
Caroline Tice authored
lldb to crash (because of attempt to look for full names when full names were not used). llvm-svn: 121607
-
Johnny Chen authored
the lldb PyThon API SBSourceManager to display source files. To accomodate this, the C++ SBSourceManager API has been changed to take an lldb::SBStream as the destination for display of source lines. Modify SBStream::ctor() so that its opaque pointer is initialized with an StreamString instance. llvm-svn: 121605
-
Sean Callanan authored
DiagnosticClients, and removed code that was patching over the original problem. llvm-svn: 121601
-
- Dec 10, 2010
-
-
Johnny Chen authored
test class. llvm-svn: 121538
-
Sean Callanan authored
operator names. llvm-svn: 121511
-
Johnny Chen authored
llvm-svn: 121501
-
Johnny Chen authored
Add an attribute __python_api_test__ (set to True) to the @python_api_test decorated test method to distinguish them from the lldb command line tests. llvm-svn: 121500
-
Johnny Chen authored
llvm-svn: 121499
-
Johnny Chen authored
llvm-svn: 121494
-
Jim Ingham authored
through a KVO swizzled object's method calls. llvm-svn: 121457
-
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
-
Johnny Chen authored
llvm-svn: 121448
-
Johnny Chen authored
llvm-svn: 121446
-
Johnny Chen authored
Example: @python_api_test def test_evaluate_expression_python(self): """Test SBFrame.EvaluateExpression() API for evaluating an expression.""" ... The opposite of Python APIs only test is an lldb command line test, which sends commands to the lldb command interpreter. Add a '-a' option to the test driver to skip Python API only tests. Modify TestExprs.py to mark a test as @python_api_test and remove an @expectedFailure decorator as the bug has been fixed. llvm-svn: 121442
-
Jim Ingham authored
llvm-svn: 121440
-
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
-
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
-
- Dec 09, 2010
-
-
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
-
Johnny Chen authored
llvm-svn: 121421
-
Johnny Chen authored
llvm-svn: 121419
-
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
-
Johnny Chen authored
llvm-svn: 121393
-
Johnny Chen authored
Initial test case test_modify_source_file_while_debugging() in TestSourceManager.py tests the caching mechanism of the source manager. llvm-svn: 121389
-
- Dec 08, 2010
-
-
Greg Clayton authored
used as the arguments for the inferior program. So for example you can do % lldb /bin/ls /tmp ~/Documents And "lldb" will use "/bin/ls" as the program and send arguments "/tmp" and "~/Documents" as the launch args. If you specify a file, then all remaining args after option parsing will be used for program arguments: % lldb -f /bin/ls /tmp ~/Documents If you need to pass option values to your inferior program, just terminate the "lldb" command line driver options with "--": % lldb -- /bin/ls -AFl /tmp The arguments are placed into the "settings" variable named "target.process.run-args". This allows you to just run the program using "process launch" and, if no args are specified on that command, the "target.process.run-args" values will be used: % lldb -- /bin/ls -AFl /tmp Current executable set to '/bin/ls' (x86_64). (lldb) settings show target.process.run-args target.process.run-args (array): [0]: '-AFl' [1]: '/tmp' (lldb) (lldb) r Process 56753 launched: '/bin/ls' (x86_64) lrwxr-xr-x@ 1 root wheel 11 Nov 19 2009 /tmp@ -> private/tmp llvm-svn: 121295
-
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
-
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
-
Johnny Chen authored
Also, add bug info for expected failures that remain: <rdar://problem/8741897> Expressions should support properties llvm-svn: 121268
-
Greg Clayton authored
debugserver-121. llvm-svn: 121237
-
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
-
Greg Clayton authored
llvm-svn: 121235
-
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
-