[PATCH] Fix tracepoint tstart again get gdb_assert
Yao Qi
yao@codesourcery.com
Fri Dec 9 12:57:00 GMT 2011
On 12/08/2011 11:40 AM, Hui Zhu wrote:
> Hi guys,
>
> I am sorry that I didn't talk clear about the issue of tstatus.
> When we use tstatus, it can auto set the tracepoint back to stop when
> it full or got error. Then user can use tstart without tstop that set
> loc->inserted. So we will still meet that issue if we just set
> loc->inserted in tstop.
>
> For examp:
> This gdb is just set loc->inserted in tstop but not tstatus.
> (gdb) tstart
> (gdb) tstop
> (gdb) tstart
> (gdb) tstop
> (gdb) tstart
> xxx
> xxx
> (gdb) tstatus
> Trace stopped because the buffer was full.
> Buffer contains 0 trace frames (of 49072 created total).
> Trace buffer has 908408 bytes of 10414080 bytes free (91% full).
> Trace will stop if GDB disconnects.
> Not looking at any trace frame.
> (gdb) tstart
> ../../src/gdb/tracepoint.c:1770: internal-error: start_tracing:
> Assertion `!loc->inserted' failed.
> A problem internal to GDB has been detected,
> further debugging may prove unreliable.
> Quit this debugging session? (y or n) n
>
> ../../src/gdb/tracepoint.c:1770: internal-error: start_tracing:
> Assertion `!loc->inserted' failed.
> A problem internal to GDB has been detected,
> further debugging may prove unreliable.
> Create a core file of GDB? (y or n) n
>
This is the 2nd version of my patch. Compared with 1st version (sent
four hours ago), this version covers more cases. In this patch, a new
observer `trace_stopped' is added. In stop_tracing and
target_get_trace_status, observer `trace_stopped' is notified, and then,
`inserted' flag is cleared. This looks more clear than version 1.
Tested again on x86_64-linux. No regression.
--
Yao (é½å°§)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-clear-inserted-in-stop_tracing.patch
Type: text/x-patch
Size: 3828 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/gdb-patches/attachments/20111209/8ce38b13/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-status-stop.patch
Type: text/x-patch
Size: 5501 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/gdb-patches/attachments/20111209/8ce38b13/attachment-0001.bin>
More information about the Gdb-patches
mailing list