diff options
author | Stan Shebs <shebs@codesourcery.com> | 2010-04-04 23:31:29 +0000 |
---|---|---|
committer | Stan Shebs <shebs@codesourcery.com> | 2010-04-04 23:31:29 +0000 |
commit | af54718eaed854c5e7ef4dbd6845969aa6558ef4 (patch) | |
tree | f6a7b5c21b652efedc60182dcdfda6ac9572fe5f /gdb/doc | |
parent | 74d1f91eb19fd48d51664b33769c8c0d4f8e4c38 (diff) | |
download | binutils-af54718eaed854c5e7ef4dbd6845969aa6558ef4.zip binutils-af54718eaed854c5e7ef4dbd6845969aa6558ef4.tar.gz binutils-af54718eaed854c5e7ef4dbd6845969aa6558ef4.tar.bz2 |
2010-04-04 Stan Shebs <stan@codesourcery.com>
* tracepoint.c (tfile_fetch_registers): Add fallback case.
* gdb.texinfo (Tracepoint Restrictions): Document PC inference.
(tdump): Explain how tdump works.
* gdb.trace/tfile.exp: Sharpen tfind test.
Diffstat (limited to 'gdb/doc')
-rw-r--r-- | gdb/doc/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/doc/gdb.texinfo | 26 |
2 files changed, 31 insertions, 0 deletions
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index a792152..3d1e2cd 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,8 @@ +2010-04-04 Stan Shebs <stan@codesourcery.com> + + * gdb.texinfo (Tracepoint Restrictions): Document PC inference. + (tdump): Explain how tdump works. + 2010-04-01 Pedro Alves <pedro@codesourcery.com> * gdb.texinfo (Break Commands): Clarify `commands' changes, and diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 5e02172..e61bd7e 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -9938,6 +9938,16 @@ if you ask for a block so large that it goes past the bottom of the stack, the target agent may report an error trying to read from an invalid address. +@item +If you do not collect registers at a tracepoint, @value{GDBN} can +infer that the value of @code{$pc} must be the same as the address of +the tracepoint and use that when you are looking at a trace frame +for that tracepoint. However, this cannot work if the tracepoint has +multiple locations (for instance if it was set in a function that was +inlined), or if it has a @code{while-stepping} loop. In those cases +@value{GDBN} will warn you that it can't infer @code{$pc}, and default +it to zero. + @end itemize @node Analyze Collected Data @@ -10141,6 +10151,22 @@ gdb_long_test = 17 '\021' (@value{GDBP}) @end smallexample +@code{tdump} works by scanning the tracepoint's current collection +actions and printing the value of each expression listed. So +@code{tdump} can fail, if after a run, you change the tracepoint's +actions to mention variables that were not collected during the run. + +Also, for tracepoints with @code{while-stepping} loops, @code{tdump} +uses the collected value of @code{$pc} to distinguish between trace +frames that were collected at the tracepoint hit, and frames that were +collected while stepping. This allows it to correctly choose whether +to display the basic list of collections, or the collections from the +body of the while-stepping loop. However, if @code{$pc} was not collected, +then @code{tdump} will always attempt to dump using the basic collection +list, and may fail if a while-stepping frame does not include all the +same data that is collected at the tracepoint hit. +@c This is getting pretty arcane, example would be good. + @node save-tracepoints @subsection @code{save-tracepoints @var{filename}} @kindex save-tracepoints |