| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
by making a local copy. We need to be able to have the private state thread let the lldb_private::Process class that it has exited, otherwise we end up with a timeout when the process destructor or DoDestroy is called where the private state thread has already exited and then StopPrivateStateThread() will wait for the thread which has already existed to respond to it.
llvm-svn: 124038
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
threads that we spawn let us know when they are going away and that we
don't timeout waiting for a message from threads that have gone away.
We also now don't expect the "k" packet (kill) to send a response. This
greatly speeds up debugger shutdown performance. The test suite now runs
quite a bit faster.
Added a fix to the variable display code that fixes the display of
base classes. We were assuming the virtual or normal base class offsets
were being given in bit sizes, but they were being given as character
sizes, so we needed to multiply the offset by 8. This wasn't affecting
the expression parser, but it was affecting the correct display of C++
class base classes and all of their children.
llvm-svn: 124024
|
| |
|
|
|
|
|
|
|
|
| |
turn it on when
we are requesting a single thread to run. May seem like a silly thing to do, but the kernel
on MacOS X will inject new threads into a program willy-nilly, and I would like to keep them
from running if I can.
llvm-svn: 124018
|
| |
|
|
|
|
| |
of a losing game in the end, if we can't halt the target, it is not clear what we can do but keep trying...
llvm-svn: 124017
|
| |
|
|
| |
llvm-svn: 124016
|
| |
|
|
|
|
|
| |
Make sure DoTakedown gets called only once by adding a dedicated m_takedown_done bool.
Add a little more useful logging.
llvm-svn: 124015
|
| |
|
|
|
|
| |
verbose output.
llvm-svn: 124014
|
| |
|
|
|
|
| |
verbosity, not the log's verbosity...
llvm-svn: 124013
|
| |
|
|
|
|
| |
remove all permissions.
llvm-svn: 124012
|
| |
|
|
| |
llvm-svn: 124011
|
| |
|
|
| |
llvm-svn: 124010
|
| |
|
|
|
|
|
|
|
| |
abstract
the EmulateCallback routine without too much duplication. Add an entry for emulating
ARM PUSH with encoding A2.
llvm-svn: 124009
|
| |
|
|
|
|
| |
listing.
llvm-svn: 124008
|
| |
|
|
| |
llvm-svn: 124003
|
| |
|
|
|
|
| |
override persistent result variables.
llvm-svn: 124001
|
| |
|
|
|
|
| |
VerifyBreakpointIDs will turn an empty argument into the last specified breakpoint.
llvm-svn: 124000
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to be fed 4 callbacks: read/write memory, and read/write registers. After this,
you can tell the object to read an instruction. This will cause the class to read
the PC, and read and instruction. Then you can emulate the instruction by calling
EvaluateInstruction. This will cause the class to figure out exactly what an opcode
does, and call the read/write mem/regs functions with actual values which allows one
to emulate an instruction without running a process, or it allows one to watch the
context information (the memory write is a pushing register 3 onto the stack at offset
12) so it can be used for generating call frame information. This way, in the future,
we will have one class that can be used to emulate instructions and generate our
unwind info from assembly.
llvm-svn: 123998
|
| |
|
|
|
|
|
| |
then doing a thread step-out. This should lead us to the caller frame of the
frame we just selected.
llvm-svn: 123984
|
| |
|
|
|
|
|
|
|
|
| |
select frame #3, you can then do a step out and be able to go directly to the
frame above frame #3!
Added StepOverUntil and StepOutOfFrame to the SBThread API to allow more powerful
stepping.
llvm-svn: 123970
|
| |
|
|
|
|
| |
circumstances.
llvm-svn: 123957
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
fragile ivars if requested. This was done by changing the previous second parameter
to an options bitfield that can be populated by logical OR'ing the new
StackFrame::ExpressionPathOption enum values together:
typedef enum ExpressionPathOption
{
eExpressionPathOptionCheckPtrVsMember = (1u << 0),
eExpressionPathOptionsNoFragileObjcIvar = (1u << 1),
};
So the old function was:
lldb::ValueObjectSP
StackFrame::GetValueForVariableExpressionPath (const char *var_expr, bool check_ptr_vs_member, Error &error);
But it is now:
lldb::ValueObjectSP
StackFrame::GetValueForVariableExpressionPath (const char *var_expr, uint32_t options, Error &error);
This allows the expression parser in Target::EvaluateExpression(...) to avoid
using simple frame variable expression paths when evaluating something that might
be a fragile ivar.
llvm-svn: 123938
|
| |
|
|
|
|
|
|
| |
rdar://problem/8875425 Found mySource->isa local variable assertion failed
has been fixed.
llvm-svn: 123924
|
| |
|
|
|
|
|
|
|
|
|
| |
while the inferior is running) to be fast. The previous code would always
cause the sender to timeout, yet still return success due to the way we
were waiting for a value (incorrect value) to change. Now the ProcessGDBRemote
plug-in has a public and private "is running" predicate. This allows things
that need to send async packets to interrupt and wait for the private "is running"
state to be flipped to false, and then resume quickly with no timeout.
llvm-svn: 123903
|
| |
|
|
|
|
|
|
|
|
| |
isn't
going to actually be used as the symbol file plug-in by looking only for suitable
N_OSO symbols and avoiding sorting function (N_FUN) and global/static (N_GSYM/N_STSYM)
symbols when there are no suitable N_OSO objects.
llvm-svn: 123889
|
| |
|
|
|
|
| |
changes that recently happened.
llvm-svn: 123881
|
| |
|
|
|
|
|
| |
Set the thread state to "bland" before calling functions so they don't
inherit the pending signals and die.
llvm-svn: 123869
|
| |
|
|
| |
llvm-svn: 123855
|
| |
|
|
| |
llvm-svn: 123844
|
| |
|
|
|
|
| |
since different options can affect the run time.
llvm-svn: 123843
|
| |
|
|
| |
llvm-svn: 123840
|
| |
|
|
| |
llvm-svn: 123816
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
500 ms.
Make MachThreadList more threadsafe.
Added code to make sure the thread register state was properly flushed for x86_64.
Fixed an missing return code for the current thread in the new thread suffix code.
Improved debugserver logging.
llvm-svn: 123815
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
cProfile.py
module.
On my MBP running SnowLeopard:
$ DOTEST_PROFILE=YES DOTEST_SCRIPT_DIR=/Volumes/data/lldb/svn/trunk/test /System/Library/Frameworks/Python.framework/Versions/Current/lib/python2.6/cProfile.py -o my.profile ./dotest.py -v -w 2> ~/Developer/Log/lldbtest.log
After that, I used the pstats.py module to browse the statistics recorded in the my.profile file.
llvm-svn: 123807
|
| |
|
|
|
|
|
|
| |
"process launch" or "run" interpreter command. Let's do the sleep only if
the process launch failed. This saves about 135 seconds from the whole test
suite run time.
llvm-svn: 123806
|
| |
|
|
|
|
|
| |
This patch removes a potential race condition between a process monitor thread
and its parent waiting to interrogate the success/failure of the launch.
llvm-svn: 123803
|
| |
|
|
| |
llvm-svn: 123801
|
| |
|
|
|
|
|
| |
The previous implementation of HardwareSingleStep wrongly resumed the thread and
single-stepped over the next instruction. Use the proper call to ProcessMonitor.
llvm-svn: 123800
|
| |
|
|
|
|
|
|
| |
Previous version simply resumed the associated thread to single step over a
single instruction which is not the intended semantics for this method. Set the
appropriate bit in the rflags register instead.
llvm-svn: 123799
|
| |
|
|
|
|
|
| |
Also, this patch adds a few delimiters to the register enumeration to enable
efficient testing of register set inclusion.
llvm-svn: 123798
|
| |
|
|
| |
llvm-svn: 123797
|
| |
|
|
| |
llvm-svn: 123796
|
| |
|
|
| |
llvm-svn: 123795
|
| |
|
|
|
|
|
| |
This fixes a bug where the dynamic loader rendezvous was not updating its
internal state when first initialized.
llvm-svn: 123794
|
| |
|
|
|
|
| |
rdar://problem/8875425 Found mySource->isa local variable assertion failed
llvm-svn: 123792
|
| |
|
|
|
|
| |
support for minimal type import functionality.
llvm-svn: 123787
|
| |
|
|
|
|
| |
enable lldb expression".
llvm-svn: 123784
|
| |
|
|
| |
llvm-svn: 123782
|
| |
|
|
|
|
| |
byte order (patch from Stephen Wilson).
llvm-svn: 123781
|
| |
|
|
| |
llvm-svn: 123780
|
| |
|
|
| |
llvm-svn: 123779
|