|
Revision tags: llvmorg-3.7.1, llvmorg-3.7.1-rc2, llvmorg-3.7.1-rc1, llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3 |
|
| #
55828080 |
| 14-Aug-2015 |
Jim Ingham <[email protected]> |
I was assuming that when a bit of inlined code was followed by code from the inlining site, it was going to execute to the inlining site code, but apparently that's not always true. So we need to be
I was assuming that when a bit of inlined code was followed by code from the inlining site, it was going to execute to the inlining site code, but apparently that's not always true. So we need to be a bit more careful getting past the inlining, and use a StepOverRange plan not a RunToAddress plan.
<rdar://problem/22191804>
llvm-svn: 244999
show more ...
|
|
Revision tags: llvmorg-3.7.0-rc2 |
|
| #
9b03fa0c |
| 23-Jul-2015 |
Jim Ingham <[email protected]> |
Most thread plans don't handle eStopReasonInstrumentation stop reasons, but that wasn't added to the list of reasons they don't explain. That would mean we keep stepping after hitting the AsanDie br
Most thread plans don't handle eStopReasonInstrumentation stop reasons, but that wasn't added to the list of reasons they don't explain. That would mean we keep stepping after hitting the AsanDie breakpoint rather than stopping when the Asan event occurred.
<rdar://problem/21925479>
llvm-svn: 243035
show more ...
|
|
Revision tags: llvmorg-3.7.0-rc1 |
|
| #
ddaf6a72 |
| 08-Jul-2015 |
Greg Clayton <[email protected]> |
Make many mangled functions that might demangle a name be allowed to specify a language to use in order to soon support Pascal and Java demangling. Dawn Perchik will take care of making this so.
llv
Make many mangled functions that might demangle a name be allowed to specify a language to use in order to soon support Pascal and Java demangling. Dawn Perchik will take care of making this so.
llvm-svn: 241751
show more ...
|
|
Revision tags: llvmorg-3.6.2, llvmorg-3.6.2-rc1 |
|
| #
58ef391f |
| 18-Jun-2015 |
Bruce Mitchener <[email protected]> |
Fix a variety of typos.
No functional change.
llvm-svn: 239995
|
|
Revision tags: llvmorg-3.6.1, llvmorg-3.6.1-rc1 |
|
| #
3294de27 |
| 18-Mar-2015 |
Zachary Turner <[email protected]> |
Move lldb-log.cpp to core/Logging.cpp
So that we don't have to update every single #include in the entire codebase to #include this new header (which used to get included by lldb-private-log.h, we a
Move lldb-log.cpp to core/Logging.cpp
So that we don't have to update every single #include in the entire codebase to #include this new header (which used to get included by lldb-private-log.h, we automatically #include "Logging.h" from within "Log.h".
llvm-svn: 232653
show more ...
|
|
Revision tags: llvmorg-3.5.2, llvmorg-3.5.2-rc1, llvmorg-3.6.0, llvmorg-3.6.0-rc4, llvmorg-3.6.0-rc3, llvmorg-3.6.0-rc2, llvmorg-3.6.0-rc1, llvmorg-3.5.1, llvmorg-3.5.1-rc2, llvmorg-3.5.1-rc1 |
|
| #
2bdbfd50 |
| 29-Sep-2014 |
Jim Ingham <[email protected]> |
This checkin is the first step in making the lldb thread stepping mechanism more accessible from the user level. It adds the ability to invent new stepping modes implemented by python classes, and t
This checkin is the first step in making the lldb thread stepping mechanism more accessible from the user level. It adds the ability to invent new stepping modes implemented by python classes, and to view the current thread plan stack and to some extent alter it.
I haven't gotten to documentation or tests yet. But this should not cause any behavior changes if you don't use it, so its safe to check it in now and work on it incrementally.
llvm-svn: 218642
show more ...
|
|
Revision tags: llvmorg-3.5.0, llvmorg-3.5.0-rc4, llvmorg-3.5.0-rc3, llvmorg-3.5.0-rc2 |
|
| #
862d1bbd |
| 06-Aug-2014 |
Jim Ingham <[email protected]> |
When stepping, handle the case where the step leaves us with the same parent frame, but different current frame - e.g. when you step past a tail call exit from a function. Apply the same "avoid-no-d
When stepping, handle the case where the step leaves us with the same parent frame, but different current frame - e.g. when you step past a tail call exit from a function. Apply the same "avoid-no-debug" rules to this case as for a "step-in".
<rdar://problem/16189225>
llvm-svn: 214946
show more ...
|
| #
5beccb22 |
| 05-Aug-2014 |
Jim Ingham <[email protected]> |
If you found a step through plan stop looking up the stack for a step out plan.
llvm-svn: 214837
|
|
Revision tags: llvmorg-3.5.0-rc1, llvmorg-3.4.2, llvmorg-3.4.2-rc1, llvmorg-3.4.1, llvmorg-3.4.1-rc2, llvmorg-3.4.1-rc1 |
|
| #
4b4b2478 |
| 13-Mar-2014 |
Jim Ingham <[email protected]> |
This commit reworks how the thread plan's ShouldStopHere mechanism works, so that it is useful not only for customizing "step-in" behavior (e.g. step-in doesn't step into code with no debug info), bu
This commit reworks how the thread plan's ShouldStopHere mechanism works, so that it is useful not only for customizing "step-in" behavior (e.g. step-in doesn't step into code with no debug info), but also the behavior of step-in/step-out and step-over when they step out of the frame they started in.
I also added as a proof of concept of this reworking a mode for stepping where stepping out of a frame into a frame with no debug information will continue stepping out till it arrives at a frame that does have debug information. This is useful when you are debugging callback based code where the callbacks are separated from the code that initiated them by some library glue you don't care about, among other things.
llvm-svn: 203747
show more ...
|
|
Revision tags: llvmorg-3.4.0, llvmorg-3.4.0-rc3, llvmorg-3.4.0-rc2, llvmorg-3.4.0-rc1 |
|
| #
b57e4a1b |
| 04-Nov-2013 |
Jason Molenda <[email protected]> |
Roll back the changes I made in r193907 which created a new Frame pure virtual base class and made StackFrame a subclass of that. As I started to build on top of that arrangement today, I found that
Roll back the changes I made in r193907 which created a new Frame pure virtual base class and made StackFrame a subclass of that. As I started to build on top of that arrangement today, I found that it wasn't working out like I intended. Instead I'll try sticking with the single StackFrame class -- there's too much code duplication to make a more complicated class hierarchy sensible I think.
llvm-svn: 193983
show more ...
|
| #
f23bf743 |
| 02-Nov-2013 |
Jason Molenda <[email protected]> |
Add a new base class, Frame. It is a pure virtual function which defines a protocol that all subclasses will implement. StackFrame is currently the only subclass and the methods that Frame vends ar
Add a new base class, Frame. It is a pure virtual function which defines a protocol that all subclasses will implement. StackFrame is currently the only subclass and the methods that Frame vends are nearly identical to StackFrame's old methods.
Update all callers to use Frame*/Frame& instead of pointers to StackFrames.
This is almost entirely a mechanical change that touches a lot of the code base so I'm committing it alone. No new functionality is added with this patch, no new subclasses of Frame exist yet.
I'll probably need to tweak some of the separation, possibly moving some of StackFrame's methods up in to Frame, but this is a good starting point.
<rdar://problem/15314068>
llvm-svn: 193907
show more ...
|
| #
4b86728b |
| 17-Sep-2013 |
Daniel Malea <[email protected]> |
Examine more than 1 frame for equivalent contexts in ThreadPlanStepOverRange - searches frames beginning from the current frame, stops when an equivalent context is found - not using GetStackFrameCou
Examine more than 1 frame for equivalent contexts in ThreadPlanStepOverRange - searches frames beginning from the current frame, stops when an equivalent context is found - not using GetStackFrameCount() for performance reasons - fixes TestInlineStepping (clang/gcc buildbots)
llvm-svn: 190868
show more ...
|
| #
93ef728f |
| 06-Sep-2013 |
Ed Maste <[email protected]> |
Correct logic error found by inspection.
From Jim's post on the lldb-dev mailing list:
This code is there as a backstop for when the unwinder drops a frame at the beginning of new function/tram
Correct logic error found by inspection.
From Jim's post on the lldb-dev mailing list:
This code is there as a backstop for when the unwinder drops a frame at the beginning of new function/trampoline or whatever.
In the (older_ctx_is_equivalent == false) case we will see if we are at a trampoline function that somebody knows how to get out of, and otherwise we will stop.
llvm-svn: 190149
show more ...
|
| #
4d56e9c1 |
| 18-Jul-2013 |
Jim Ingham <[email protected]> |
This commit does two things. One, it converts the return value of the QueueThreadPlanXXX plan providers from a "ThreadPlan *" to a "lldb::ThreadPlanSP". That was needed to fix a bug where the Thre
This commit does two things. One, it converts the return value of the QueueThreadPlanXXX plan providers from a "ThreadPlan *" to a "lldb::ThreadPlanSP". That was needed to fix a bug where the ThreadPlanStepInRange wasn't checking with its sub-plans to make sure they succeed before trying to proceed further. If the sub-plan failed and as a result didn't make any progress, you could end up retrying the same failing algorithm in an infinite loop.
<rdar://problem/14043602>
llvm-svn: 186618
show more ...
|
|
Revision tags: llvmorg-3.3.1-rc1, llvmorg-3.3.0, llvmorg-3.3.0-rc3 |
|
| #
60c4118c |
| 04-Jun-2013 |
Jim Ingham <[email protected]> |
If ThreadPlanCallFunction hasn't set its notion of the "real stop info" yet, just return the current PrivateStopInfo.
Also renamed a few more places where we were using StopReason in functions that
If ThreadPlanCallFunction hasn't set its notion of the "real stop info" yet, just return the current PrivateStopInfo.
Also renamed a few more places where we were using StopReason in functions that were returning StopInfo's.
<rdar://problem/14042692>
llvm-svn: 183177
show more ...
|
|
Revision tags: llvmorg-3.3.0-rc2, llvmorg-3.3.0-rc1 |
|
| #
221d51cf |
| 08-May-2013 |
Jim Ingham <[email protected]> |
Figure out the reply to "PlanExplainsStop" once when we stop and then use the cached value. This fixes problems, for instance, with the StepRange plans, where they know that they explained the stop
Figure out the reply to "PlanExplainsStop" once when we stop and then use the cached value. This fixes problems, for instance, with the StepRange plans, where they know that they explained the stop because they were at their "run to here" breakpoint, then deleted that breakpoint, so when they got asked again, doh! I had done this for a couple of plans in an ad hoc fashion, this just formalizes it.
Also add a "ResumeRequested" in Process so that the code in the completion handlers can tell the ShouldStop logic they want to resume rather than just directly resuming. That allows us to handle resuming in a more controlled fashion.
Also, SetPublicState can take a "restarted" flag, so that it doesn't drop the run lock when the target was immediately restarted. --This line, and those below , will be ignored--
M test/lang/objc/objc-dynamic-value/TestObjCDynamicValue.py M include/lldb/Target/ThreadList.h M include/lldb/Target/ThreadPlanStepOut.h M include/lldb/Target/Thread.h M include/lldb/Target/ThreadPlanBase.h M include/lldb/Target/ThreadPlanStepThrough.h M include/lldb/Target/ThreadPlanStepInstruction.h M include/lldb/Target/ThreadPlanStepInRange.h M include/lldb/Target/ThreadPlanStepOverBreakpoint.h M include/lldb/Target/ThreadPlanStepUntil.h M include/lldb/Target/StopInfo.h M include/lldb/Target/Process.h M include/lldb/Target/ThreadPlanRunToAddress.h M include/lldb/Target/ThreadPlan.h M include/lldb/Target/ThreadPlanCallFunction.h M include/lldb/Target/ThreadPlanStepOverRange.h M source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.h M source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.cpp M source/Target/StopInfo.cpp M source/Target/Process.cpp M source/Target/ThreadPlanRunToAddress.cpp M source/Target/ThreadPlan.cpp M source/Target/ThreadPlanCallFunction.cpp M source/Target/ThreadPlanStepOverRange.cpp M source/Target/ThreadList.cpp M source/Target/ThreadPlanStepOut.cpp M source/Target/Thread.cpp M source/Target/ThreadPlanBase.cpp M source/Target/ThreadPlanStepThrough.cpp M source/Target/ThreadPlanStepInstruction.cpp M source/Target/ThreadPlanStepInRange.cpp M source/Target/ThreadPlanStepOverBreakpoint.cpp M source/Target/ThreadPlanStepUntil.cpp M lldb.xcodeproj/xcshareddata/xcschemes/Run Testsuite.xcscheme
llvm-svn: 181381
show more ...
|
| #
5160ce5c |
| 27-Mar-2013 |
Greg Clayton <[email protected]> |
<rdar://problem/13521159>
LLDB is crashing when logging is enabled from lldb-perf-clang. This has to do with the global destructor chain as the process and its threads are being torn down.
All logg
<rdar://problem/13521159>
LLDB is crashing when logging is enabled from lldb-perf-clang. This has to do with the global destructor chain as the process and its threads are being torn down.
All logging channels now make one and only one instance that is kept in a global pointer which is never freed. This guarantees that logging can correctly continue as the process tears itself down.
llvm-svn: 178191
show more ...
|
| #
0161b49c |
| 09-Feb-2013 |
Jim Ingham <[email protected]> |
Reworked the way Process::RunThreadPlan and the ThreadPlanCallFunction interoperate to fix problems where hitting auto-continue signals while running a thread plan would cause us to lose control of t
Reworked the way Process::RunThreadPlan and the ThreadPlanCallFunction interoperate to fix problems where hitting auto-continue signals while running a thread plan would cause us to lose control of the debug session.
<rdar://problem/12993641>
llvm-svn: 174793
show more ...
|
| #
f85defae |
| 20-Dec-2012 |
Andrew Kaylor <[email protected]> |
Adding eStopReasonThreadExiting and fixing the handling of this state on Linux.
llvm-svn: 170800
|
|
Revision tags: llvmorg-3.2.0, llvmorg-3.2.0-rc3 |
|
| #
90ba8115 |
| 05-Dec-2012 |
Greg Clayton <[email protected]> |
<rdar://problem/12649160>
Added the ability to debug through your process exec'ing itself to the same architecture.
llvm-svn: 169340
|
|
Revision tags: llvmorg-3.2.0-rc2, llvmorg-3.2.0-rc1 |
|
| #
3bfa753f |
| 06-Nov-2012 |
Jim Ingham <[email protected]> |
Add a workaround to problems with the clang debug info for inlined subroutine ranges.
<rdar://problem/12588579>
llvm-svn: 167430
|
| #
4a58e968 |
| 25-Oct-2012 |
Jim Ingham <[email protected]> |
Found a couple more places where we need to run all threads when stepping.
llvm-svn: 166732
|
| #
513c6bb8 |
| 01-Sep-2012 |
Jim Ingham <[email protected]> |
Initial check-in of "fancy" inlined stepping. Doesn't do anything useful unless you switch LLDB_FANCY_INLINED_STEPPING to true. With that on, basic inlined stepping works, including step-over of in
Initial check-in of "fancy" inlined stepping. Doesn't do anything useful unless you switch LLDB_FANCY_INLINED_STEPPING to true. With that on, basic inlined stepping works, including step-over of inlined functions. But for some as yet mysterious reason i386 debugging gets an assert and dies immediately. So for now its off.
llvm-svn: 163044
show more ...
|
| #
5f1a4e1f |
| 26-Jul-2012 |
Jim Ingham <[email protected]> |
Relax the test for "is the frame I am going to step back out to the one I started from" in ThreadPlanStepOverRange so you don't artificially reject stepping out of a function you stepped into when st
Relax the test for "is the frame I am going to step back out to the one I started from" in ThreadPlanStepOverRange so you don't artificially reject stepping out of a function you stepped into when stepping through an inlined range.
Also fill in the target in the symbol context we make up for the inlined stepping range in ThreadPlanStepOut.
<rdar://problem/11765912>
llvm-svn: 160794
show more ...
|
|
Revision tags: llvmorg-3.1.0 |
|
| #
18de2fdc |
| 10-May-2012 |
Jim Ingham <[email protected]> |
If the ObjC Step Through Trampoline plan causes a target crash, properly propagate the error back to the controlling plans so that they don't lose control.
Also change "ThreadPlanStepThrough" to tak
If the ObjC Step Through Trampoline plan causes a target crash, properly propagate the error back to the controlling plans so that they don't lose control.
Also change "ThreadPlanStepThrough" to take the return StackID for its backstop breakpoint as an argument to the constructor rather than having it try to figure it out itself, since it might get it wrong whereas the caller always knows where it is coming from.
rdar://problem/11402287
llvm-svn: 156529
show more ...
|