History log of /external/lldb/source/Breakpoint/Watchpoint.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
52f792329be5db8e38961350589e97e8f2823acd 12-Jul-2013 Greg Clayton <gclayton@apple.com> Huge change to clean up types.

A long time ago we start with clang types that were created by the symbol files and there were many functions in lldb_private::ClangASTContext that helped. Later we create ClangASTType which contains a clang::ASTContext and an opauque QualType, but we didn't switch over to fully using it. There were a lot of places where we would pass around a raw clang_type_t and also pass along a clang::ASTContext separately. This left room for error.

This checkin change all type code over to use ClangASTType everywhere and I cleaned up the interfaces quite a bit. Any code that was in ClangASTContext that was type related, was moved over into ClangASTType. All code that used these types was switched over to use all of the new goodness.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186130 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp
36da2aa6dc5ad9994b638ed09eb81c44cc05540b 25-Jan-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13069948>

Major fixed to allow reading files that are over 4GB. The main problems were that the DataExtractor was using 32 bit offsets as a data cursor, and since we mmap all of our object files we could run into cases where if we had a very large core file that was over 4GB, we were running into the 4GB boundary.

So I defined a new "lldb::offset_t" which should be used for all file offsets.

After making this change, I enabled warnings for data loss and for enexpected implicit conversions temporarily and found a ton of things that I fixed.

Any functions that take an index internally, should use "size_t" for any indexes and also should return "size_t" for any sizes of collections.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173463 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp
9c970a371511a0e31ba9360aa841d445792c1ab0 18-Dec-2012 Jim Ingham <jingham@apple.com> Adding events when watchpoints are set or changed.

<rdar://problem/11597849>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170400 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp
5f35a4be95aed0e5b2cb36f7d785bcbfc67284ae 29-Nov-2012 Daniel Malea <daniel.malea@intel.com> Resolve printf formatting warnings on Linux:
- use macros from inttypes.h for format strings instead of OS-specific types

Patch from Matt Kopec!



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp
ed2b62acb11143ab6955ffccb939a9f91c18f5f8 23-Oct-2012 Jim Ingham <jingham@apple.com> Turns out there are 8 bits in a byte.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp
9e376625d6354d77cd6240007f0d42034dd3f1ee 23-Oct-2012 Jim Ingham <jingham@apple.com> Watchpoints remember the type of the expression or variable they were set with, and use
it to print the old and new values.
Temporarily disable the "out of scope" checking since it didn't work correctly, and was
not what people generally expected watchpoints to be doing.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166472 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp
258db3ab3d02fc013f8674f3c20007c1e86b503d 24-Aug-2012 Johnny Chen <johnny.chen@apple.com> Cope with the case where the user-supplied callbacks want the watchpoint itself to be disabled!
Previously we put a WatchpointSentry object within StopInfo.cpp to disable-and-then-enable the watchpoint itself
while we are performing the actions associated with the triggered watchpoint, which can cause the user-initiated
watchpoint disabling action to be negated.

Add a test case to verify that a watchpoint can be disabled during the callbacks.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@162483 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp
f84e566ff66dceb58674494b26408d3c83921ab9 22-Aug-2012 Johnny Chen <johnny.chen@apple.com> Fix test failures in TestWatchpointIter.py due to http://llvm.org/viewvc/llvm-project?rev=162322&view=rev.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@162328 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp
bd446f1c519f466a2e24790fd1c362fc06897673 22-Aug-2012 Johnny Chen <johnny.chen@apple.com> rdar://problem/12144930

Watchpoint conditions were hitting watchpoint, smashing LLDB's stack.
Make sure watchpoint is properly disabled and subsequently enabled while performing watchpoint actions.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@162322 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp
519274f59beaefcd2e0109b0c16ab678865cdd5c 15-Aug-2012 Johnny Chen <johnny.chen@apple.com> A little bit of refactoring.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp
0b09366e83f256920bb55ec7488cb58dfa85ab6b 14-Aug-2012 Johnny Chen <johnny.chen@apple.com> When trying to take snapshots of a watched variable, if the frame is unable to evaluate the variable expression,
do not take the sanpshot and forget about the stop info. It is possible that the variable expression has gone
out of scope, we'll revise the hit count due to the false alarms.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161892 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp
c9c2a9b1c36e54220369c37cd8d859ed423d5b59 14-Aug-2012 Johnny Chen <johnny.chen@apple.com> Simplify the "Watchpoint ... hit" printout, make it more terse.
Change the test case, too.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161806 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp
9e98559420d8c7c248b0c75b48db65ffd878402b 13-Aug-2012 Johnny Chen <johnny.chen@apple.com> rdar://problem/12007576

Record the snapshot of our watched value when the watchpoint is set or hit.
And report the old/new values when watchpoint is triggered. Add some test scenarios.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161785 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp
f3ec4617297810223deb545cb68214ca4dd8009c 10-Aug-2012 Johnny Chen <johnny.chen@apple.com> rdar://problem/11457143 [ER] need "watchpoint command ..."

Add 'watchpoint command add/delete/list' to lldb, plus two .py test files.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp
14f17cfda294800268b0bc68f064eb1ea1c80d10 02-May-2012 Jim Ingham <jingham@apple.com> Jeeze... Remove two unneeded #include's of ThreadPlanTestCondition.h, and replace them with
includes of ClangUserExpression that were being errantly dragged in through same.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@155970 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp
116a5cd7b8a0ec7929f10281cd708edb2bf20ffa 25-Feb-2012 Johnny Chen <johnny.chen@apple.com> Make the Watchpoint IDs unique per target, not across targets as before.
Now Each newly created target has its Watchpoint IDs as 1, 2, 3 ...


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151435 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp
a4a1587e855d8533b5863937b0be8125041f6f4c 23-Feb-2012 Jason Molenda <jmolenda@apple.com> Make a nested if .. if .. else block nesting more explicit with some curly braces.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151292 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp
55a2d5a49d82fcfc0fe72825293f6c04d1970e21 30-Jan-2012 Johnny Chen <johnny.chen@apple.com> Add "watch set" command as a more general interface in conjunction with "frame var -w".
Also add test cases for watching a variable as well as a location expressed as an expression.

o TestMyFirstWatchpoint.py:

Modified to test "watchpoint set -w write global".

o TestWatchLocationWithWatchSet.py:

Added to test "watchpoint set -w write -x 1 g_char_ptr + 7" where a contrived example program
with several threads is supposed to only access the array index within the range [0..6], but
there's some misbehaving thread writing past the range.

rdar://problem/10701761


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149280 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp
1c2d941ab4c3ba05888c48e25d245b099a18213a 24-Jan-2012 Johnny Chen <johnny.chen@apple.com> Minor comment change. Plus use member function instead of directly accessing member field.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@148756 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp
51b7c5ff358a6eecfc4c827a96ab301a1798c4e2 24-Jan-2012 Johnny Chen <johnny.chen@apple.com> Tiny refactoring to use member functions instead of directly accessing member fields.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@148743 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp
daa6efe771f5f068e29328a774fa5bf2358ce14a 21-Dec-2011 Sean Callanan <scallanan@apple.com> The "desired result type" code in the expression
parser has hitherto been an implementation waiting
for a use. I have now tied the '-o' option for
the expression command -- which indicates that the
result is an Objective-C object and needs to be
printed -- to the ExpressionParser, which
communicates the desired type to Clang.

Now, if the result of an expression is determined
by an Objective-C method call for which there is
no type information, that result is implicitly
cast to id if and only if the -o option is passed
to the expression command. (Otherwise if there
is no explicit cast Clang will issue an error.
This behavior is identical to what happened before
r146756.)

Also added a testcase for -o enabled and disabled.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@147099 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp
bae39c554644de9f319f59c25a76ad64bd266f84 03-Dec-2011 Greg Clayton <gclayton@apple.com> Fixed some extra warnings that show up with the new clang.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@145735 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp
5b658cc411e8810073f7f633f3c5d6f177cb3dcd 08-Nov-2011 Sean Callanan <scallanan@apple.com> Added a language parameter to the expression parser,
which will in the future allow expressions to be
compiled as C, C++, and Objective-C instead of the
current default Objective-C++. This feature requires
some additional support from Clang -- specifically, it
requires reference types in the parser regardless of
language -- so it is not yet exposed to the user.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144042 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp
712a628dde2f4f786389feecf7e06e59f0853c75 17-Oct-2011 Johnny Chen <johnny.chen@apple.com> Add a commnad to set a condition for a watchpoint. Example:

watchpoint modify -c 'global==5'

modifies the last created watchpoint so that the condition expression
is evaluated at the stop point to decide whether we should proceed with
the stopping.

Also add SBWatchpont::SetCondition(const char *condition) to set condition
programmatically.

Test cases to come later.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142227 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp
41a55efdfd779b910fb3515c47357c97e695ec22 14-Oct-2011 Johnny Chen <johnny.chen@apple.com> Add SBWatchpoint::GetError() API, which is not currently populated as yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@141979 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp
ecd4feb5111432d2878e95461220c720cb2d24c8 14-Oct-2011 Johnny Chen <johnny.chen@apple.com> SBValue::Watch() and SBValue::WatchPointee() are now the official API for creating
a watchpoint for either the variable encapsulated by SBValue (Watch) or the pointee
encapsulated by SBValue (WatchPointee).

Removed SBFrame::WatchValue() and SBFrame::WatchLocation() API as a result of that.

Modified the watchpoint related test suite to reflect the change.

Plus replacing WatchpointLocation with Watchpoint throughout the code base.

There are still cleanups to be dome. This patch passes the whole test suite.
Check it in so that we aggressively catch regressions.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@141925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Breakpoint/Watchpoint.cpp