- Oct 06, 2012
-
-
Jason Molenda authored
if we have a kernel binary, set the target's architecture to match. Include the target's architecture in the ModuleSpec when we're searching for the kext binaries on the local system -- otherwise we won't get a specific slice of a fat file picked out for us and we won't use the returned Module correctly. Remove the redundant attempt to find a file on the local filesystem from this method. In ProcessGDBRemote::CheckForKernel(), if we have a kernel binary in memory, mark the canJIT as false. There is no jitting code in kernel debug sessions. llvm-svn: 165357
-
Jim Ingham authored
Make the error message from regex commands use the command's syntax string if it exists rather than a generic but not at all helpful message about not matching some unknown regex... llvm-svn: 165349
-
Jason Molenda authored
it's too easy to type by mistake when typing "l" (read: I did this once). llvm-svn: 165340
-
- Oct 05, 2012
-
-
Jim Ingham authored
llvm-svn: 165330
-
Jim Ingham authored
llvm-svn: 165328
-
Jason Molenda authored
It is now a regex command alias that more faithfully emulates gdb's behavior, most importantly, "bt 5" will backtrace 5 frames of the currently selected thread. "bt all" still backtraces all threads (unlike gdb) and for users who have learned to use "bt -c 5", that form is still accepted. llvm-svn: 165300
-
Jason Molenda authored
expansion on the dSYM path we find if it starts with a tilde. llvm-svn: 165299
-
Jason Molenda authored
enabled after we'd found a few bugs that were caused by shadowed local variables; the most important issue this turned up was a common mistake of trying to obtain a mutex lock for the scope of a code block by doing Mutex::Locker(m_map_mutex); This doesn't assign the lock object to a local variable; it is a temporary that has its dtor called immediately. Instead, Mutex::Locker locker(m_map_mutex); does what is intended. For some reason -Wshadow happened to highlight these as shadowed variables. I also fixed a few obivous and easy shadowed variable issues across the code base but there are a couple dozen more that should be fixed when someone has a free minute. <rdar://problem/12437585> llvm-svn: 165269
-
Sean Callanan authored
because the unwinders typically can find its value. llvm-svn: 165266
-
Jim Ingham authored
ClangASTContext::GetIndexOfChildWithName - increment the child index we plan to return as we iterate through the ivars. <rdar://problem/12433299> llvm-svn: 165264
-
Sean Callanan authored
from a NULL ObjCInterfaceDecl. llvm-svn: 165261
-
- Oct 04, 2012
-
-
rdar://problem/12424824Enrico Granata authored
<rdar://problem/12424824> Making sure that we correctly update our synthetic children provider for NSDictionary - providing better support for dynamic types by letting the filter recalculate itself when the type of the object changes llvm-svn: 165260
-
rdar://problem/12424824Enrico Granata authored
<rdar://problem/12424824> Making sure that we correctly update our synthetic children provider for NSArray - the same work will need to be done for NSDictionary llvm-svn: 165252
-
Jason Molenda authored
ProcessGDBRemote and DynamicLoaderDarwinKernel and a patch was needed to get this building on Linux. Thanks! llvm-svn: 165193
-
Jason Molenda authored
llvm-svn: 165192
-
-
Jim Ingham authored
llvm-svn: 165176
-
- Oct 03, 2012
-
-
rdar://problem/12408181Enrico Granata authored
<rdar://problem/12408181> Fixing a bug where we would try to look for types in a module, and then fail to look for them anywhere else because the same SymbolContext was being passed everywhere llvm-svn: 165169
-
Sean Callanan authored
llvm-svn: 165144
-
Jason Molenda authored
remove the duplicates of this code in ProcessGDBRemote and ProcessKDP. These two Process plugins will hardcode their DynamicLoader name to be the DynamicLoaderDarwinKernel so the correct DynamicLoader is picked, and return the kernel load address as the ImageInfosAddress. <rdar://problem/12417038> llvm-svn: 165080
-
Jason Molenda authored
the Symbols::LocateExecutableObjectFile method to locate kexts and kernels instead of copying them out of the memory of the remote system. This is the fix for <rdar://problem/12416384>. Fix a variable shadowing problem in Symbols::LocateMacOSXFilesUsingDebugSymbols which caused the symbol rich executable binaries to not be found even if they were listed in the dSYM Info.plist. Change Symbols::DownloadObjectAndSymbolFile to ignore dsymForUUID's negative cache - this is typically being called by the user and we should try even if there's a incorrect entry in the negative cache. llvm-svn: 165061
-
- Oct 02, 2012
-
-
rdar://problem/11791234Greg Clayton authored
Shared libraries on MacOSX were not properly being removed from the shared module list when re-running a debug session due to an error in: Module::MatchesModuleSpec() llvm-svn: 164991
-
Jason Molenda authored
Reduce the amount of output that DynamicLoaderDarwinKernel prints for each kext it loads. <rdar://problem/7714201> llvm-svn: 164985
-
- Oct 01, 2012
-
-
-
rdar://problem/12406088Enrico Granata authored
<rdar://problem/12406088> Fixing a crasher with adding a regex command, due to accessing a shared pointer without first checking for NULL llvm-svn: 164950
-
- Sep 29, 2012
-
-
Jason Molenda authored
When attaching to a remote system that does not look like a typical vendor system, and no executable binary was specified to lldb, check a couple of fixed locations where kernels running in ASLR mode (slid in memory to a random address) store their load addr when booted in debug mode, and relocate the symbols or load the kernel wholesale from the host computer if we can find it. <rdar://problem/7714201> llvm-svn: 164888
-
Jason Molenda authored
loaded at a random offset). To get the kernel's UUID and load address I need to send a kdp packet so I had to implement the kernel relocation (and attempt to find the kernel if none was provided to lldb already) in ProcessKDP -- but this code really properly belongs in DynamicLoaderDarwinKernel. I also had to add an optional Stream to ConnectRemote so ProcessKDP::DoConnectRemote can print feedback about the remote kernel's UUID, load address, and notify the user if we auto-loaded the kernel via the UUID. <rdar://problem/7714201> llvm-svn: 164881
-
Sean Callanan authored
runtime, we read method signatures for both class and instance methods out of the runtime data. (lldb) fr var str (NSString *) str = 0x0000000105000180 @"Hello from '/Volumes/Data/projects/lldb/test/lang/objc/foundation/a.out'" (lldb) expr str.length (unsigned long long) $0 = 72 (lldb) expr [NSString stringWithCString:"Hello world!" encoding:1] (id) $1 = 0x0000000105100050 (lldb) po $1 $1 = 0x0000000105100050 Hello world! (lldb) fr var array1 (NSArray *) array1 = 0x000000010010a6e0 @"3 objects" (lldb) expr array1.count (unsigned long long) $0 = 3 (lldb) expr [array1 objectAtIndex:2] (id) $1 = 0x00000001000025d0 (lldb) po $1 $1 = 0x00000001000025d0 array1 object3 Notice that both regular and property-style notation work. I still need to add explicit support for properties with non-default setters/getters. This information is only queried if an Objective-C object does not have debug information for a complete type available. Otherwise we query debug information as usual. llvm-svn: 164878
-
-
rdar://problem/12378910Enrico Granata authored
<rdar://problem/12378910> Fixing a potential crasher in the data formatters where we fail to check for NULL or empty class name llvm-svn: 164870
-
Enrico Granata authored
This checkin adds the capability for LLDB to load plugins from external dylibs that can provide new commands It exports an SBCommand class from the public API layer, and a new SBCommandPluginInterface There is a minimal load-only plugin manager built into the debugger, which can be accessed via Debugger::LoadPlugin. Plugins are loaded from two locations at debugger startup (LLDB.framework/Resources/PlugIns and ~/Library/Application Support/LLDB/PlugIns) and more can be (re)loaded via the "plugin load" command For an example of how to make a plugin, refer to the fooplugin.cpp file in examples/plugins/commands Caveats: Currently, the new API objects and features are not exposed via Python. The new commands can only be "parsed" (i.e. not raw) and get their command line via a char** parameter (we do not expose our internal Args object) There is no unloading feature, which can potentially lead to leaks if you overwrite the commands by reloading the same or different plugins There is no API exposed for option parsing, which means you may need to use getopt or roll-your-own llvm-svn: 164865
-
- Sep 28, 2012
-
-
rdar://problem/12398225Greg Clayton authored
Improve performance of StringExtractor::GetHexS8(). llvm-svn: 164852
-
Sean Callanan authored
constructing the ObjCInterfaceDecl for an ISA, we'd continue and try to use that Decl anyway, possibly causing a crash. llvm-svn: 164844
-
Filipe Cabecinhas authored
Fix a bug introduced in an earlier revision: actually return the StopReason, when we have a StopInfo object. llvm-svn: 164825
-
Jason Molenda authored
names in addition to the rax/rbp/rip register names when deciding whether a register is volatile or not. llvm-svn: 164812
-
Sean Callanan authored
out of the metaclass, so as to enumerate class methods for an object. llvm-svn: 164808
-
Greg Clayton authored
We can now do: Specify a path to a debug symbols file: (lldb) add-dsym <path-to-dsym> Go and download the dSYM file for the "libunc.dylib" module in your target: (lldb) add-dsym --shlib libunc.dylib Go and download the dSYM given a UUID: (lldb) add-dsym --uuid <UUID> Go and download the dSYM file for the current frame: (lldb) add-dsym --frame llvm-svn: 164806
-
- Sep 27, 2012
-
-
Sean Callanan authored
added a parser for method signatures in the Objective-C @encode format. llvm-svn: 164792
-
Greg Clayton authored
Ashok Thirumurthi patch to enable the latest and greatest DWARF forms from the DWARF 4 specification. llvm-svn: 164779
-
Filipe Cabecinhas authored
llvm-svn: 164777
-