Commit Graph

5201 Commits

Author SHA1 Message Date
Enrico Granata 8b95df290e Turning the interpreter mutex into a static global to avoid a potential leak. Might need to be turned back into a pointer if it causes issues with the destructor chain.
llvm-svn: 160012
2012-07-10 19:04:14 +00:00
Enrico Granata a29bdad954 <rdar://problem/11751427> Fixing an issue where multiple threads could concurrently try and initialize Python and cause crashes
llvm-svn: 160008
2012-07-10 18:23:48 +00:00
Greg Clayton cc0c4d4ae7 Improve dynamic type resolution efficiency by looking for the type in the module that contains the vtable symbol first and only look for the first match. If we don't find anything, _then_ move on to the rest of the modules in the target and watch out for multiple matches.
llvm-svn: 159975
2012-07-10 01:22:15 +00:00
Jason Molenda 55831d8b9f Add lldb.1 to the xcode project file, add a copy files phase to install it.
<rdar://problem/10613024> 

llvm-svn: 159962
2012-07-09 21:16:31 +00:00
Filipe Cabecinhas 5137f317ce Fixed typos found while reading commit logs.
llvm-svn: 159930
2012-07-09 13:42:24 +00:00
Filipe Cabecinhas 2ada3104ec Fixed errors and warnings on debug code.
llvm-svn: 159929
2012-07-09 13:34:19 +00:00
Filipe Cabecinhas f065fdcee7 Make error messages more user-friendly for the 'target delete' command.
llvm-svn: 159927
2012-07-09 13:02:17 +00:00
Jason Molenda 75b9cfd1f0 Simplify the CreateDefaultUnwindPlan methods for the x86 and arm unwinders
a bit -- we're creating the UnwindPlan here, we can set the register set to
whatever is convenient for us, no need to handle different register sets.

A handful of small comment fixes I noticed while reading through the code.

llvm-svn: 159924
2012-07-09 07:47:47 +00:00
Sean Callanan a0d17365ab On i386 we see occasional crashes when the register
context is not returning valid registers yet.  Don't
crash in these situations.

<rdar://problem/11650335>

llvm-svn: 159885
2012-07-07 01:38:30 +00:00
Greg Clayton 7820bd1e52 <rdar://problem/11357711>
Fixed a crasher where the section load list was not thread safe.

llvm-svn: 159884
2012-07-07 01:24:12 +00:00
Greg Clayton 9407302d37 Make const result value objects able to return dynamic types.
Modified the heap.py to be able to correctly indentify the exact ivar for the "ptr_refs" command no matter how deep the ivar is in a class hierarchy. Also fixed the ability for the heap command to symbolicate the stack backtrace when MallocStackLogging is set in the environment and the "--stack" option was specified.

llvm-svn: 159883
2012-07-07 01:22:45 +00:00
Sean Callanan 3b18fbd983 Fixed a crasher that happens if we try to inspect
a NULL symbol file.

<rdar://problem/11795939>

llvm-svn: 159882
2012-07-07 01:07:33 +00:00
Sean Callanan 210b815f9d Fixed a crash in the class uniq'ing code where we
didn't check if the two classes had the same number
of members.

<rdar://problem/11678873>

llvm-svn: 159880
2012-07-07 00:29:33 +00:00
Greg Clayton a98fde5d70 <rdar://problem/11819635>
llvm-svn: 159844
2012-07-06 17:58:01 +00:00
Sean Callanan ec440dd774 Since SBTarget::FindFunctions returns a
SBSymbolContextList, we should include the
relevant header file.

llvm-svn: 159840
2012-07-06 17:44:41 +00:00
Filipe Cabecinhas 5d261b0601 Fix a wrong variable name.
llvm-svn: 159832
2012-07-06 16:20:13 +00:00
Jason Molenda 85da312d00 Change the "run" / "r" command alias to not use --shell for lldb
running natively on arm - on iOS we have to do some extra work to
track the inferior process if we launch with a shell intermediary.
<rdar://problem/11719396>

llvm-svn: 159803
2012-07-06 02:46:23 +00:00
Jason Molenda 84d32ddfc8 Bump versions to lldb-161, debugserver-188.
llvm-svn: 159798
2012-07-06 01:32:10 +00:00
Han Ming Ong a96ba8768b <rdar://problem/11806995>
Need to include QA MAS certificate leaf for root XPC service

llvm-svn: 159782
2012-07-05 21:46:53 +00:00
Greg Clayton 39cacebd26 Added a new example that extracts all global variables from an object file and prints any available info.
llvm-svn: 159775
2012-07-05 20:24:41 +00:00
Sean Callanan 585c0ec8e1 Fixed a potential crash if a metadata category
we write into doesn't already exist.

<rdar://problem/11775508>

llvm-svn: 159700
2012-07-04 01:26:26 +00:00
Jim Ingham 43c555dfcd Work around some problems destroying a process with older debugservers.
rdar://problem/11359989

llvm-svn: 159697
2012-07-04 00:35:43 +00:00
Greg Clayton f7ab038ada Make the interactive command interpreter build into the "crashlog" command work correctly when run inside LLDB. Before this fix the "cmd.Cmd" object was trying to read from stdin itself and it was competing without command interpreter for the bytes.
llvm-svn: 159688
2012-07-03 21:40:18 +00:00
Greg Clayton c8a0ce0a7a <rdar://problem/11800213>
Fixed a crasher in the "thread continue" code. There were many logic errors in the DoExecute function where thread index IDs were being used where the actual zero based thread index should have been used. This could cause crashes to happen since looking up a thread by index ID, when the zero based index of a thread should be used would return an empty thread shared pointer and cause a NULL deref.

llvm-svn: 159686
2012-07-03 20:54:16 +00:00
Greg Clayton d7331f2acb Improved the name comparing logic a bit.
llvm-svn: 159685
2012-07-03 20:52:00 +00:00
Greg Clayton 1f5181aa45 <rdar://problem/11744001>
Fixed an issue where GDB servers that don't support the thread suffix could get registers states incorrectly due to an incorrect assumption that the current register thread (set using the "Hg%x" packet) will always be cached between runs. Now we clear the cached register thred when the process is resumed.

llvm-svn: 159603
2012-07-02 22:05:25 +00:00
Jim Ingham 03afad8f1e Add an "extra-startup-commands" process setting so we can send some command strings to the actual process plugin to interpret as it wishes.
llvm-svn: 159511
2012-07-02 05:40:07 +00:00
Greg Clayton 5ef31a9c46 Added documentation for many of our python properties and also made the property help show up by declaring the properties correctly. We previosly declared properties into a local "x" variable, what I didn't realize is that the help will use this as the property name for the help output.
llvm-svn: 159468
2012-06-29 22:00:42 +00:00
Greg Clayton 9a69ac5d67 Spelling fixes.
llvm-svn: 159467
2012-06-29 21:58:52 +00:00
Greg Clayton 503cd42259 Spelling fixes.
llvm-svn: 159466
2012-06-29 21:58:00 +00:00
Johnny Chen cbeddfeed7 Make 'watchpoint set' default to write instead of read_write.
llvm-svn: 159455
2012-06-29 19:35:01 +00:00
Greg Clayton 3e3b48e669 Added information on how to get API documentation in a "Documentation" section.
llvm-svn: 159434
2012-06-29 16:25:05 +00:00
Enrico Granata 2e6dea3928 <rdar://problem/11755446> Making sure to provide summaries for one more NSString subclass
llvm-svn: 159389
2012-06-28 23:05:43 +00:00
Jim Ingham 98d6da5f7c Make the error message when we time out waiting for debugserver to reply to the qLaunchSuccess packet less cryptic.
<rdar://problem/11754744>

llvm-svn: 159373
2012-06-28 20:30:23 +00:00
Greg Clayton a7fb1dcd4b Listen to the "--verbose" flag when running "crashlog" and if verbose is enabled, then dump full paths to source files and modules.
Changed much of the output that was coming out with "--verbose" over to use the new "--debug" flag.

llvm-svn: 159363
2012-06-28 18:10:14 +00:00
Greg Clayton 20351ea310 Fixed a logic error which stopped paths from being properly remapped.
llvm-svn: 159362
2012-06-28 18:09:12 +00:00
Greg Clayton fe251c88d9 Added a new top level "Resources" group for plist files and moved a few dylib and .a files into the "Libraries" group.
llvm-svn: 159323
2012-06-28 01:28:49 +00:00
Enrico Granata c76715f3be <rdar://problem/11679380> Make sure we do not fallback to software stepping when hardware stepping should work but fails to get enabled. Also removing dead code paths
llvm-svn: 159322
2012-06-28 01:23:30 +00:00
Greg Clayton fed39aa653 Added the ability to read the dSYM plist file with source remappings even when DebugSymbols isn't used to find the dSYM. We now parse the plist as XML in the MacOSX symbol vendor.
Added the ability to get a section load address given a target which is needed for a previous checking which saves crashlogs.

llvm-svn: 159298
2012-06-27 22:22:28 +00:00
Greg Clayton 234076c429 Fixed the "target modules list" to not crash in Debug builds due to an assertion where the mutex in the "module_list" local variable would assert when the lldb_private::Mutex would destruct. What was happening was the mutex in the module list was being locked by a local locker object and then "module_list" would get destroyed before the locker and the locker still had the mutex locked which would cause the pthread call to destroy the mutex to fail with "Resource busy" and it would cause a mutex leak.
llvm-svn: 159291
2012-06-27 20:26:19 +00:00
Greg Clayton 8567355e8c Modify the ranges_access() helper function to be able to lookup the address range in a block given an address. Since blocks can have multiple discontiguous ranges, it helps to be able to get the current address range for the current block in a frame. This can be used in code like:
curr_block_range = lldb.frame.block.range[lldb.frame.addr]

llvm-svn: 159289
2012-06-27 20:23:09 +00:00
Greg Clayton 3e6dde6652 Fixed the get_process_thread_list function to correctly return a list of all threads in a process.
llvm-svn: 159288
2012-06-27 20:19:56 +00:00
Greg Clayton febc8bb479 Make the IsValid() operator for SBLineEntry "do the right thing" by returning true if the line entry is valid, not just if the opaque pointer to lldb_private::LineEntry is non NULL.
llvm-svn: 159287
2012-06-27 20:18:01 +00:00
Greg Clayton f47b2c26bb Added a "save_crashlog" command to the lldb.macosx.crashlog package that allow you to dump your current process state out to a crash log file. This will dump all of the target module information with all load addresses, UUID values, and shared library paths, as well as all thread stacks and the crash log header. This will make it easy for us to save the current state of a process and then reload it later into LLDB.
llvm-svn: 159286
2012-06-27 20:02:04 +00:00
Greg Clayton 8921ce8396 Fix the copy constructor and assignement operator for ModuleList to be thread safe.
llvm-svn: 159285
2012-06-27 19:59:26 +00:00
Greg Clayton 89d4f338a7 Check the return status of the make command.
llvm-svn: 159284
2012-06-27 19:57:59 +00:00
Greg Clayton 5b889eec4a Remove dependency on internal header file.
llvm-svn: 159283
2012-06-27 19:57:13 +00:00
Jim Ingham 70f11f88e3 Make a way to set the result status for Python defined commands, and don't overwrite the status of the result if
the python command has set it.

llvm-svn: 159273
2012-06-27 17:25:36 +00:00
Jim Ingham 0fd1b75f50 Fix ignore counts on breakpoints so they actually work.
llvm-svn: 159233
2012-06-26 22:27:55 +00:00
Jim Ingham 389512dc5e Add API logging to SBCommandInterpreter::HandleCompletion().
llvm-svn: 159180
2012-06-26 01:21:59 +00:00