From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22803 invoked by alias); 7 May 2004 14:19:20 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 22784 invoked from network); 7 May 2004 14:19:19 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sources.redhat.com with SMTP; 7 May 2004 14:19:19 -0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.12.10/8.12.10) with ESMTP id i47EJI0o005432 for ; Fri, 7 May 2004 10:19:18 -0400 Received: from localhost.redhat.com (to-dhcp51.toronto.redhat.com [172.16.14.151]) by int-mx1.corp.redhat.com (8.11.6/8.11.6) with ESMTP id i47EJEv15589; Fri, 7 May 2004 10:19:17 -0400 Received: from gnu.org (localhost [127.0.0.1]) by localhost.redhat.com (Postfix) with ESMTP id 784842B9D; Fri, 7 May 2004 10:19:14 -0400 (EDT) Message-ID: <409B9AE2.6030009@gnu.org> Date: Fri, 07 May 2004 14:19:00 -0000 From: Andrew Cagney User-Agent: Mozilla/5.0 (X11; U; NetBSD macppc; en-GB; rv:1.4.1) Gecko/20040217 MIME-Version: 1.0 To: gdb-patches@sources.redhat.com, Eli Zaretskii Subject: patch;rfa:doco] "set/show debug observer" command Content-Type: multipart/mixed; boundary="------------000102070001020706050605" X-SW-Source: 2004-05/txt/msg00193.txt.bz2 This is a multi-part message in MIME format. --------------000102070001020706050605 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Content-length: 167 Hello, This adds the commands: set debug observer {int} show debug observer so that its possible to see what the observer code is doing. Eli doco look ok? Andrew --------------000102070001020706050605 Content-Type: text/plain; name="diffs" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="diffs" Content-length: 4704 2004-05-07 Andrew Cagney * observer.c: Include "commands.h" and "gdbcmd.h". (observer_debug, _initialize_observer): Add the command "set/show debug observer". * observer.sh: When observer debugging, log notify calls. * Makefile.in (observer.o): Update dependencies. Index: doc/ChangeLog 2004-05-07 Andrew Cagney * observer.texi (GDB Observers): Add "Debugging" section. Include cross reference to "set/show debug observer". * gdb.texinfo (Debugging Output): Document "set/show debug observer". Index: Makefile.in =================================================================== RCS file: /cvs/src/src/gdb/Makefile.in,v retrieving revision 1.561 diff -p -u -r1.561 Makefile.in --- Makefile.in 7 May 2004 05:48:48 -0000 1.561 +++ Makefile.in 7 May 2004 14:16:02 -0000 @@ -2118,7 +2118,8 @@ objfiles.o: objfiles.c $(defs_h) $(bfd_h $(objfiles_h) $(gdb_stabs_h) $(target_h) $(bcache_h) $(gdb_assert_h) \ $(gdb_stat_h) $(gdb_obstack_h) $(gdb_string_h) $(hashtab_h) \ $(breakpoint_h) $(block_h) $(dictionary_h) -observer.o: observer.c $(defs_h) $(observer_h) $(observer_inc) +observer.o: observer.c $(defs_h) $(observer_h) $(observer_inc) \ + $(command_h) $(gdbcmd_h) ocd.o: ocd.c $(defs_h) $(gdbcore_h) $(gdb_string_h) $(frame_h) $(inferior_h) \ $(bfd_h) $(symfile_h) $(target_h) $(gdbcmd_h) $(objfiles_h) \ $(gdb_stabs_h) $(serial_h) $(ocd_h) $(regcache_h) Index: observer.c =================================================================== RCS file: /cvs/src/src/gdb/observer.c,v retrieving revision 1.6 diff -p -u -r1.6 observer.c --- observer.c 16 Apr 2004 17:26:40 -0000 1.6 +++ observer.c 7 May 2004 14:16:03 -0000 @@ -52,6 +52,10 @@ #include "defs.h" #include "observer.h" +#include "command.h" +#include "gdbcmd.h" + +static int observer_debug; /* The internal generic observer. */ @@ -187,6 +191,20 @@ void observer_test_third_notification_function (struct bpstats *bs) { observer_test_third_observer++; +} + +extern initialize_file_ftype _initialize_observer; /* -Wmissing-prototypes */ + +void +_initialize_observer (void) +{ + add_setshow_zinteger_cmd ("observer", class_maintenance, &observer_debug, "\ +Set observer debugging.\n\ +When non-zero, observer debugging is enabled.", "\ +Show observer debugging.\n\ +When non-zero, observer debugging is enabled.", + NULL, NULL, + &setdebuglist, &showdebuglist); } #include "observer.inc" Index: observer.sh =================================================================== RCS file: /cvs/src/src/gdb/observer.sh,v retrieving revision 1.2 diff -p -u -r1.2 observer.sh --- observer.sh 17 Apr 2004 04:45:32 -0000 1.2 +++ observer.sh 7 May 2004 14:16:03 -0000 @@ -134,6 +134,8 @@ observer_notify_${event} (${formal}) { struct ${event}_args args; `echo ${actual} | sed -e 's/\([a-z0-9_][a-z0-9_]*\)/args.\1 = \1/g'`; + if (observer_debug) + fprintf_unfiltered (gdb_stdlog, "observer_notify_${event}() called\n"); generic_observer_notify (${event}_subject, &args); } EOF Index: doc/gdb.texinfo =================================================================== RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v retrieving revision 1.202 diff -p -u -r1.202 gdb.texinfo --- doc/gdb.texinfo 28 Mar 2004 12:22:55 -0000 1.202 +++ doc/gdb.texinfo 7 May 2004 14:16:17 -0000 @@ -13404,6 +13404,13 @@ default is off. @item show debug frame Displays the current state of displaying @value{GDBN} frame debugging info. +@kindex set debug observer +@item set debug observer +Turns on or off display of @value{GDBN} observer debugging. This +includes info such as the notification of observable events. +@kindex show debug observer +@item show debug observer +Displays the current state of observer debugging. @kindex set debug overload @item set debug overload Turns on or off display of @value{GDBN} C@t{++} overload debugging Index: doc/observer.texi =================================================================== RCS file: /cvs/src/src/gdb/doc/observer.texi,v retrieving revision 1.5 diff -p -u -r1.5 observer.texi --- doc/observer.texi 30 Apr 2004 07:38:50 -0000 1.5 +++ doc/observer.texi 7 May 2004 14:16:17 -0000 @@ -35,6 +35,11 @@ The observer implementation is also curr In particular, it is therefore not possible to call the attach or detach routines during a notification. +@section Debugging +Observer notifications can be traced using the command @samp{set debug +observer 1} (@pxref{Debugging Output, , Optional messages about +internal happenings, gdb, Debugging with @var{GDBN}}). + @section @code{normal_stop} Notifications @cindex @code{normal_stop} observer @cindex notification about inferior execution stop --------------000102070001020706050605--