X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org To: cygwin AT cygwin DOT com From: =?ISO-8859-1?Q?Ren=E9_Berber?= Subject: Re: [gdb] Data watchpoints in Windows weirdness. Call for testers. Date: Tue, 16 Oct 2007 00:44:41 -0500 Lines: 533 Message-ID: References: <4702E6B7 DOT 8020100 AT portugalmail DOT pt> <20071008124331 DOT GD19254 AT calimero DOT vinschen DOT de> <20071008143552 DOT GA20746 AT ednor DOT casa DOT cgf DOT cx> <47115BEF DOT 7030407 AT portugalmail DOT pt> <47127845 DOT 5000905 AT portugalmail DOT pt> <20071015091947 DOT GS20400 AT calimero DOT vinschen DOT de> <4713B1FF DOT 4070709 AT portugalmail DOT pt> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable User-Agent: Thunderbird 2.0.0.6 (Windows/20070728) In-Reply-To: <4713B1FF.4070709@portugalmail.pt> OpenPGP: url=hkp://wwwkeys.pgp.net X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Pedro Alves wrote: > Corinna Vinschen wrote: >=20 >> I could reproduce it on Win2K SP4, Vista, and under WOW64 on Vista 64. >=20 > Thank you. Gdb 6.6 (installed with Insight 6.6) doesn't seem to have the problem: GNU gdb 6.6 Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain condition= s. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i686-pc-cygwin"... (gdb) watch count Hardware watchpoint 1: count (gdb) start Breakpoint 2 at 0x401075: file test.c, line 8. Starting program: /home/rberber/test.exe Hardware watchpoint 1: countHardware watchpoint 1: countHardware watchpoint= 1: countHardware watchpoint 1: countHardware watchpoint 1: countLoaded symbols= for /c/WINDOWS/system32/ntdll.dll Loaded symbols for /c/WINDOWS/system32/kernel32.dll Loaded symbols for /usr/bin/cygwin1.dll Loaded symbols for /c/WINDOWS/system32/advapi32.dll Loaded symbols for /c/WINDOWS/system32/rpcrt4.dll Hardware watchpoint 1: countHardware watchpoint 1: countHardware watchpoint= 1: countHardware watchpoint 1: countHardware watchpoint 1: countmain () at tes= t.c:8 8 { (gdb) c Continuing. Program received signal SIGTRAP, Trace/breakpoint trap. main () at test.c:11 11 printf ("count %d\n", count); (gdb) Continuing. Hardware watchpoint 1: count Old value =3D 0 New value =3D 1000 main () at test.c:16 16 printf ("count %d\n", count); (gdb) Continuing. Hardware watchpoint 1: count Old value =3D 1000 New value =3D 1001 main () at test.c:18 18 Sleep (1000); (gdb) Continuing. Hardware watchpoint 1: count Old value =3D 1001 New value =3D 1002 main () at test.c:18 18 Sleep (1000); (gdb) Continuing. Hardware watchpoint 1: count Old value =3D 1002 New value =3D 1003 main () at test.c:18 18 Sleep (1000); (gdb) Continuing. Hardware watchpoint 1: count Old value =3D 1003 New value =3D 1004 main () at test.c:18 18 Sleep (1000); (gdb) Continuing. Hardware watchpoint 1: count Old value =3D 1004 New value =3D 1005 main () at test.c:18 18 Sleep (1000); ... One more time: GNU gdb 6.6 Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain condition= s. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i686-pc-cygwin"... (gdb) watch count Hardware watchpoint 1: count (gdb) set debug infrun 1 (gdb) set debugevents 1 (gdb) set debugexceptions 1 (gdb) maint show-debug-regs 1 (gdb) start Breakpoint 2 at 0x401075: file test.c, line 8. Starting program: /home/rberber/test.exe gdb: win32_init_thread_list infrun: wait_for_inferior gdb: kernel event for pid=3D1444 tid=3D2104 code=3DCREATE_PROCESS_DEBUG_EVE= NT) infrun: infwait_normal_state infrun: TARGET_WAITKIND_SPURIOUS infrun: resume (step=3D0, signal=3D0) ContinueDebugEvent (cpid=3D1444, ctid=3D2104, DBG_CONTINUE); infrun: prepare_to_wait gdb: kernel event for pid=3D1444 tid=3D2104 code=3DLOAD_DLL_DEBUG_EVENT) infrun: infwait_normal_state infrun: TARGET_WAITKIND_LOADED infrun: resume (step=3D0, signal=3D0) Hardware watchpoint 1: countContinueDebugEvent (cpid=3D1444, ctid=3D2104, D= BG_CONTINUE); infrun: prepare_to_wait gdb: kernel event for pid=3D1444 tid=3D2104 code=3DLOAD_DLL_DEBUG_EVENT) infrun: infwait_normal_state infrun: TARGET_WAITKIND_LOADED infrun: resume (step=3D0, signal=3D0) Hardware watchpoint 1: countContinueDebugEvent (cpid=3D1444, ctid=3D2104, D= BG_CONTINUE); infrun: prepare_to_wait gdb: kernel event for pid=3D1444 tid=3D2104 code=3DLOAD_DLL_DEBUG_EVENT) infrun: infwait_normal_state infrun: TARGET_WAITKIND_LOADED infrun: resume (step=3D0, signal=3D0) Hardware watchpoint 1: countContinueDebugEvent (cpid=3D1444, ctid=3D2104, D= BG_CONTINUE); infrun: prepare_to_wait gdb: kernel event for pid=3D1444 tid=3D2104 code=3DLOAD_DLL_DEBUG_EVENT) infrun: infwait_normal_state infrun: TARGET_WAITKIND_LOADED infrun: resume (step=3D0, signal=3D0) Hardware watchpoint 1: countContinueDebugEvent (cpid=3D1444, ctid=3D2104, D= BG_CONTINUE); infrun: prepare_to_wait gdb: kernel event for pid=3D1444 tid=3D2104 code=3DLOAD_DLL_DEBUG_EVENT) infrun: infwait_normal_state infrun: TARGET_WAITKIND_LOADED infrun: resume (step=3D0, signal=3D0) Hardware watchpoint 1: countContinueDebugEvent (cpid=3D1444, ctid=3D2104, D= BG_CONTINUE); infrun: prepare_to_wait gdb: kernel event for pid=3D1444 tid=3D2104 code=3DEXCEPTION_DEBUG_EVENT) gdb: Target exception EXCEPTION_BREAKPOINT at 0x7c901230 infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc =3D 0x7c901231 stopped_data_addr: CONTROL (DR7): 00000000 STATUS (DR6): 00000000 DR0: addr=3D0x00000000, ref.count=3D0 DR1: addr=3D0x00000000, ref.count= =3D0 DR2: addr=3D0x00000000, ref.count=3D0 DR3: addr=3D0x00000000, ref.count= =3D0 infrun: stopped infrun: stop_stepping Loaded symbols for /c/WINDOWS/system32/ntdll.dll Loaded symbols for /c/WINDOWS/system32/kernel32.dll Loaded symbols for /usr/bin/cygwin1.dll Loaded symbols for /c/WINDOWS/system32/advapi32.dll Loaded symbols for /c/WINDOWS/system32/rpcrt4.dll infrun: proceed (addr=3D0xffffffff, signal=3D0, step=3D0) insert_watchpoint (addr=3D403010, len=3D4, type=3Ddata-write): CONTROL (DR7): 000d0101 STATUS (DR6): 00000000 DR0: addr=3D0x00403010, ref.count=3D1 DR1: addr=3D0x00000000, ref.count= =3D0 DR2: addr=3D0x00000000, ref.count=3D0 DR3: addr=3D0x00000000, ref.count= =3D0 infrun: resume (step=3D0, signal=3D0) ContinueDebugEvent (cpid=3D1444, ctid=3D2104, DBG_CONTINUE); infrun: wait_for_inferior gdb: kernel event for pid=3D1444 tid=3D2104 code=3DLOAD_DLL_DEBUG_EVENT) infrun: infwait_normal_state infrun: TARGET_WAITKIND_LOADED infrun: resume (step=3D0, signal=3D0) Hardware watchpoint 1: countContinueDebugEvent (cpid=3D1444, ctid=3D2104, D= BG_CONTINUE); infrun: prepare_to_wait gdb: kernel event for pid=3D1444 tid=3D2104 code=3DOUTPUT_DEBUG_STRING_EVEN= T) ContinueDebugEvent (cpid=3D1444, ctid=3D2104, DBG_CONTINUE); gdb: kernel event for pid=3D1444 tid=3Dfc code=3DCREATE_THREAD_DEBUG_EVENT) infrun: infwait_normal_state infrun: TARGET_WAITKIND_SPURIOUS infrun: resume (step=3D0, signal=3D0) ContinueDebugEvent (cpid=3D1444, ctid=3D252, DBG_CONTINUE); infrun: prepare_to_wait gdb: kernel event for pid=3D1444 tid=3D2104 code=3DOUTPUT_DEBUG_STRING_EVEN= T) ContinueDebugEvent (cpid=3D1444, ctid=3D2104, DBG_CONTINUE); gdb: kernel event for pid=3D1444 tid=3D2104 code=3DLOAD_DLL_DEBUG_EVENT) infrun: infwait_normal_state infrun: TARGET_WAITKIND_LOADED infrun: resume (step=3D0, signal=3D0) Hardware watchpoint 1: countContinueDebugEvent (cpid=3D1444, ctid=3D2104, D= BG_CONTINUE); infrun: prepare_to_wait gdb: kernel event for pid=3D1444 tid=3D2104 code=3DLOAD_DLL_DEBUG_EVENT) infrun: infwait_normal_state infrun: TARGET_WAITKIND_LOADED infrun: resume (step=3D0, signal=3D0) Hardware watchpoint 1: countContinueDebugEvent (cpid=3D1444, ctid=3D2104, D= BG_CONTINUE); infrun: prepare_to_wait gdb: kernel event for pid=3D1444 tid=3D2104 code=3DLOAD_DLL_DEBUG_EVENT) infrun: infwait_normal_state infrun: TARGET_WAITKIND_LOADED infrun: resume (step=3D0, signal=3D0) Hardware watchpoint 1: countContinueDebugEvent (cpid=3D1444, ctid=3D2104, D= BG_CONTINUE); infrun: prepare_to_wait gdb: kernel event for pid=3D1444 tid=3D2104 code=3DLOAD_DLL_DEBUG_EVENT) infrun: infwait_normal_state infrun: TARGET_WAITKIND_LOADED infrun: resume (step=3D0, signal=3D0) Hardware watchpoint 1: countContinueDebugEvent (cpid=3D1444, ctid=3D2104, D= BG_CONTINUE); infrun: prepare_to_wait gdb: kernel event for pid=3D1444 tid=3D2104 code=3DEXCEPTION_DEBUG_EVENT) gdb: Target exception EXCEPTION_BREAKPOINT at 0x00401075 infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc =3D 0x401075 stopped_data_addr: CONTROL (DR7): 000d0101 STATUS (DR6): 00000000 DR0: addr=3D0x00403010, ref.count=3D1 DR1: addr=3D0x00000000, ref.count= =3D0 DR2: addr=3D0x00000000, ref.count=3D0 DR3: addr=3D0x00000000, ref.count= =3D0 infrun: BPSTAT_WHAT_STOP_NOISY infrun: stop_stepping remove_watchpoint (addr=3D403010, len=3D4, type=3Ddata-write): CONTROL (DR7): 000d0100 STATUS (DR6): 00000000 DR0: addr=3D0x00000000, ref.count=3D0 DR1: addr=3D0x00000000, ref.count= =3D0 DR2: addr=3D0x00000000, ref.count=3D0 DR3: addr=3D0x00000000, ref.count= =3D0 main () at test.c:8 8 { (gdb) c Continuing. infrun: proceed (addr=3D0xffffffff, signal=3D144, step=3D0) insert_watchpoint (addr=3D403010, len=3D4, type=3Ddata-write): CONTROL (DR7): 000d0101 STATUS (DR6): 00000000 DR0: addr=3D0x00403010, ref.count=3D1 DR1: addr=3D0x00000000, ref.count= =3D0 DR2: addr=3D0x00000000, ref.count=3D0 DR3: addr=3D0x00000000, ref.count= =3D0 infrun: resume (step=3D0, signal=3D0) ContinueDebugEvent (cpid=3D1444, ctid=3D2104, DBG_CONTINUE); infrun: wait_for_inferior gdb: kernel event for pid=3D1444 tid=3D2104 code=3DEXCEPTION_DEBUG_EVENT) gdb: Target exception EXCEPTION_SINGLE_STEP at 0x00401099 infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc =3D 0x401099 stopped_data_addr: CONTROL (DR7): 000d0101 STATUS (DR6): 00000000 DR0: addr=3D0x00403010, ref.count=3D1 DR1: addr=3D0x00000000, ref.count= =3D0 DR2: addr=3D0x00000000, ref.count=3D0 DR3: addr=3D0x00000000, ref.count= =3D0 infrun: random signal 5 Program received signal SIGTRAP, Trace/breakpoint trap. infrun: stop_stepping remove_watchpoint (addr=3D403010, len=3D4, type=3Ddata-write): CONTROL (DR7): 000d0100 STATUS (DR6): 00000000 DR0: addr=3D0x00000000, ref.count=3D0 DR1: addr=3D0x00000000, ref.count= =3D0 DR2: addr=3D0x00000000, ref.count=3D0 DR3: addr=3D0x00000000, ref.count= =3D0 main () at test.c:11 11 printf ("count %d\n", count); (gdb) c Continuing. infrun: proceed (addr=3D0xffffffff, signal=3D144, step=3D0) insert_watchpoint (addr=3D403010, len=3D4, type=3Ddata-write): CONTROL (DR7): 000d0101 STATUS (DR6): 00000000 DR0: addr=3D0x00403010, ref.count=3D1 DR1: addr=3D0x00000000, ref.count= =3D0 DR2: addr=3D0x00000000, ref.count=3D0 DR3: addr=3D0x00000000, ref.count= =3D0 infrun: resume (step=3D0, signal=3D0) ContinueDebugEvent (cpid=3D1444, ctid=3D2104, DBG_CONTINUE); infrun: wait_for_inferior gdb: kernel event for pid=3D1444 tid=3D2104 code=3DEXCEPTION_DEBUG_EVENT) gdb: Target exception EXCEPTION_SINGLE_STEP at 0x004010b9 infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc =3D 0x4010b9 watchpoint_hit (addr=3D403010, len=3D-1, type=3Ddata-write): CONTROL (DR7): 000d0101 STATUS (DR6): ffff0ff1 DR0: addr=3D0x00403010, ref.count=3D1 DR1: addr=3D0x00000000, ref.count= =3D0 DR2: addr=3D0x00000000, ref.count=3D0 DR3: addr=3D0x00000000, ref.count= =3D0 infrun: BPSTAT_WHAT_STOP_NOISY infrun: stop_stepping remove_watchpoint (addr=3D403010, len=3D4, type=3Ddata-write): CONTROL (DR7): 000d0100 STATUS (DR6): ffff0ff1 DR0: addr=3D0x00000000, ref.count=3D0 DR1: addr=3D0x00000000, ref.count= =3D0 DR2: addr=3D0x00000000, ref.count=3D0 DR3: addr=3D0x00000000, ref.count= =3D0 Hardware watchpoint 1: count Old value =3D 0 New value =3D 1000 main () at test.c:16 16 printf ("count %d\n", count); (gdb) Continuing. infrun: proceed (addr=3D0xffffffff, signal=3D144, step=3D0) insert_watchpoint (addr=3D403010, len=3D4, type=3Ddata-write): CONTROL (DR7): 000d0101 STATUS (DR6): ffff0ff1 DR0: addr=3D0x00403010, ref.count=3D1 DR1: addr=3D0x00000000, ref.count= =3D0 DR2: addr=3D0x00000000, ref.count=3D0 DR3: addr=3D0x00000000, ref.count= =3D0 infrun: resume (step=3D0, signal=3D0) ContinueDebugEvent (cpid=3D1444, ctid=3D2104, DBG_CONTINUE); infrun: wait_for_inferior gdb: kernel event for pid=3D1444 tid=3D2104 code=3DEXCEPTION_DEBUG_EVENT) gdb: Target exception EXCEPTION_SINGLE_STEP at 0x004010d9 infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc =3D 0x4010d9 watchpoint_hit (addr=3D403010, len=3D-1, type=3Ddata-write): CONTROL (DR7): 000d0101 STATUS (DR6): 00000001 DR0: addr=3D0x00403010, ref.count=3D1 DR1: addr=3D0x00000000, ref.count= =3D0 DR2: addr=3D0x00000000, ref.count=3D0 DR3: addr=3D0x00000000, ref.count= =3D0 infrun: BPSTAT_WHAT_STOP_NOISY infrun: stop_stepping remove_watchpoint (addr=3D403010, len=3D4, type=3Ddata-write): CONTROL (DR7): 000d0100 STATUS (DR6): 00000001 DR0: addr=3D0x00000000, ref.count=3D0 DR1: addr=3D0x00000000, ref.count= =3D0 DR2: addr=3D0x00000000, ref.count=3D0 DR3: addr=3D0x00000000, ref.count= =3D0 Hardware watchpoint 1: count Old value =3D 1000 New value =3D 1001 main () at test.c:18 18 Sleep (1000); (gdb) Continuing. infrun: proceed (addr=3D0xffffffff, signal=3D144, step=3D0) insert_watchpoint (addr=3D403010, len=3D4, type=3Ddata-write): CONTROL (DR7): 000d0101 STATUS (DR6): 00000001 DR0: addr=3D0x00403010, ref.count=3D1 DR1: addr=3D0x00000000, ref.count= =3D0 DR2: addr=3D0x00000000, ref.count=3D0 DR3: addr=3D0x00000000, ref.count= =3D0 infrun: resume (step=3D0, signal=3D0) ContinueDebugEvent (cpid=3D1444, ctid=3D2104, DBG_CONTINUE); infrun: wait_for_inferior gdb: kernel event for pid=3D1444 tid=3D2104 code=3DEXCEPTION_DEBUG_EVENT) gdb: Target exception EXCEPTION_SINGLE_STEP at 0x004010d9 infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc =3D 0x4010d9 watchpoint_hit (addr=3D403010, len=3D-1, type=3Ddata-write): CONTROL (DR7): 000d0101 STATUS (DR6): ffff0ff1 DR0: addr=3D0x00403010, ref.count=3D1 DR1: addr=3D0x00000000, ref.count= =3D0 DR2: addr=3D0x00000000, ref.count=3D0 DR3: addr=3D0x00000000, ref.count= =3D0 infrun: BPSTAT_WHAT_STOP_NOISY infrun: stop_stepping remove_watchpoint (addr=3D403010, len=3D4, type=3Ddata-write): CONTROL (DR7): 000d0100 STATUS (DR6): ffff0ff1 DR0: addr=3D0x00000000, ref.count=3D0 DR1: addr=3D0x00000000, ref.count= =3D0 DR2: addr=3D0x00000000, ref.count=3D0 DR3: addr=3D0x00000000, ref.count= =3D0 Hardware watchpoint 1: count Old value =3D 1001 New value =3D 1002 main () at test.c:18 18 Sleep (1000); (gdb) Continuing. infrun: proceed (addr=3D0xffffffff, signal=3D144, step=3D0) insert_watchpoint (addr=3D403010, len=3D4, type=3Ddata-write): CONTROL (DR7): 000d0101 STATUS (DR6): ffff0ff1 DR0: addr=3D0x00403010, ref.count=3D1 DR1: addr=3D0x00000000, ref.count= =3D0 DR2: addr=3D0x00000000, ref.count=3D0 DR3: addr=3D0x00000000, ref.count= =3D0 infrun: resume (step=3D0, signal=3D0) ContinueDebugEvent (cpid=3D1444, ctid=3D2104, DBG_CONTINUE); infrun: wait_for_inferior gdb: kernel event for pid=3D1444 tid=3D2104 code=3DEXCEPTION_DEBUG_EVENT) gdb: Target exception EXCEPTION_SINGLE_STEP at 0x004010d9 infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc =3D 0x4010d9 watchpoint_hit (addr=3D403010, len=3D-1, type=3Ddata-write): CONTROL (DR7): 000d0101 STATUS (DR6): ffff0ff1 DR0: addr=3D0x00403010, ref.count=3D1 DR1: addr=3D0x00000000, ref.count= =3D0 DR2: addr=3D0x00000000, ref.count=3D0 DR3: addr=3D0x00000000, ref.count= =3D0 infrun: BPSTAT_WHAT_STOP_NOISY infrun: stop_stepping remove_watchpoint (addr=3D403010, len=3D4, type=3Ddata-write): CONTROL (DR7): 000d0100 STATUS (DR6): ffff0ff1 DR0: addr=3D0x00000000, ref.count=3D0 DR1: addr=3D0x00000000, ref.count= =3D0 DR2: addr=3D0x00000000, ref.count=3D0 DR3: addr=3D0x00000000, ref.count= =3D0 Hardware watchpoint 1: count Old value =3D 1002 New value =3D 1003 main () at test.c:18 18 Sleep (1000); (gdb) Continuing. infrun: proceed (addr=3D0xffffffff, signal=3D144, step=3D0) insert_watchpoint (addr=3D403010, len=3D4, type=3Ddata-write): CONTROL (DR7): 000d0101 STATUS (DR6): ffff0ff1 DR0: addr=3D0x00403010, ref.count=3D1 DR1: addr=3D0x00000000, ref.count= =3D0 DR2: addr=3D0x00000000, ref.count=3D0 DR3: addr=3D0x00000000, ref.count= =3D0 infrun: resume (step=3D0, signal=3D0) ContinueDebugEvent (cpid=3D1444, ctid=3D2104, DBG_CONTINUE); infrun: wait_for_inferior gdb: kernel event for pid=3D1444 tid=3D2104 code=3DEXCEPTION_DEBUG_EVENT) gdb: Target exception EXCEPTION_SINGLE_STEP at 0x004010d9 infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc =3D 0x4010d9 watchpoint_hit (addr=3D403010, len=3D-1, type=3Ddata-write): CONTROL (DR7): 000d0101 STATUS (DR6): ffff0ff1 DR0: addr=3D0x00403010, ref.count=3D1 DR1: addr=3D0x00000000, ref.count= =3D0 DR2: addr=3D0x00000000, ref.count=3D0 DR3: addr=3D0x00000000, ref.count= =3D0 infrun: BPSTAT_WHAT_STOP_NOISY infrun: stop_stepping remove_watchpoint (addr=3D403010, len=3D4, type=3Ddata-write): CONTROL (DR7): 000d0100 STATUS (DR6): ffff0ff1 DR0: addr=3D0x00000000, ref.count=3D0 DR1: addr=3D0x00000000, ref.count= =3D0 DR2: addr=3D0x00000000, ref.count=3D0 DR3: addr=3D0x00000000, ref.count= =3D0 Hardware watchpoint 1: count Old value =3D 1003 New value =3D 1004 main () at test.c:18 18 Sleep (1000); (gdb) Continuing. infrun: proceed (addr=3D0xffffffff, signal=3D144, step=3D0) insert_watchpoint (addr=3D403010, len=3D4, type=3Ddata-write): CONTROL (DR7): 000d0101 STATUS (DR6): ffff0ff1 DR0: addr=3D0x00403010, ref.count=3D1 DR1: addr=3D0x00000000, ref.count= =3D0 DR2: addr=3D0x00000000, ref.count=3D0 DR3: addr=3D0x00000000, ref.count= =3D0 infrun: resume (step=3D0, signal=3D0) ContinueDebugEvent (cpid=3D1444, ctid=3D2104, DBG_CONTINUE); infrun: wait_for_inferior gdb: kernel event for pid=3D1444 tid=3D2104 code=3DEXCEPTION_DEBUG_EVENT) gdb: Target exception EXCEPTION_SINGLE_STEP at 0x004010d9 infrun: infwait_normal_state infrun: TARGET_WAITKIND_STOPPED infrun: stop_pc =3D 0x4010d9 watchpoint_hit (addr=3D403010, len=3D-1, type=3Ddata-write): CONTROL (DR7): 000d0101 STATUS (DR6): ffff0ff1 DR0: addr=3D0x00403010, ref.count=3D1 DR1: addr=3D0x00000000, ref.count= =3D0 DR2: addr=3D0x00000000, ref.count=3D0 DR3: addr=3D0x00000000, ref.count= =3D0 infrun: BPSTAT_WHAT_STOP_NOISY infrun: stop_stepping remove_watchpoint (addr=3D403010, len=3D4, type=3Ddata-write): CONTROL (DR7): 000d0100 STATUS (DR6): ffff0ff1 DR0: addr=3D0x00000000, ref.count=3D0 DR1: addr=3D0x00000000, ref.count= =3D0 DR2: addr=3D0x00000000, ref.count=3D0 DR3: addr=3D0x00000000, ref.count= =3D0 Hardware watchpoint 1: count Old value =3D 1004 New value =3D 1005 main () at test.c:18 18 Sleep (1000); (gdb) ki Kill the program being debugged? (y or n) y ContinueDebugEvent (cpid=3D1444, ctid=3D2104, DBG_CONTINUE); ContinueDebugEvent (cpid=3D1444, ctid=3D252, DBG_CONTINUE); ContinueDebugEvent (cpid=3D1444, ctid=3D2104, DBG_CONTINUE); gdb: win32_close, inferior_ptid=3D2104 (gdb) q --=20 Ren=E9 Berber -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/