Winedbg: watchpoints broken?

Walt Ogburn reuben at ugcs.caltech.edu
Mon Oct 18 11:47:44 CDT 2004


Hi,

Winedbg's watchpoints don't seem to work for me: when I try to watch a
memory location, winedbg responds that a watchpoint has been set at a
different, always constant location (I suspect this is actually in
winedbg's memory space).  Nothing happens when the location I was trying
to watch changes.

Here is a cut-and-paste from my winedbg session.  I try to watch memory
location 0x0041a5ec, but I can set other breakpoints and see that the
value has changed without the watchpoint taking effect.

-----------------------------------------------------------------------
Wine-dbg>run
In 32 bit mode.
0x4049a81f start_process+0xcf
[/home/reuben/project/wine/wine/dlls/kernel/../../include/winternl.h:1249]
in kernel32: jmp   0x4049a815 start_process+0xc5
[/home/reuben/project/wine/wine/dlls/kernel/process.c:1022] in kernel32
1249    static inline void WINAPI DbgBreakPoint(void) { __asm__
__volatile__("int3"); }
1249    static inline void WINAPI DbgBreakPoint(void) { __asm__
__volatile__("int3"); }
Wine-dbg>watch *0x0041a5ec
Watchpoint 1 at 0x405ae8c4
Wine-dbg>x 0x0041a5ec
 00000000
Wine-dbg>break *0x004130ec
Breakpoint 2 at 0x004130ec
Wine-dbg>cont
fixme:ole:CoRegisterMessageFilter stub
Stopped on breakpoint 2 at 0x004130ec
Wine-dbg>x 0x0041a5ec
 403e9d40
Wine-dbg>cond 2 $ecx==0x10
Wine-dbg>cont
Stopped on breakpoint 2 at 0x004130ec
Wine-dbg>x 0x0041a5ec
 00000000
Wine-dbg>info break
Breakpoints:
2: y 0x004130ec (1)
                stop when  ($ecx == 16)
Watchpoints:
1: y 0x405ae8c4 on 4 bytes (W)
--------------------------------------------------------------------------

The fact that winedbg thinks the watchpoint is 0x405ae8c4 is especially
puzzling, but it's entirely possible that the confusion lies with me
rather than winedbg.

Thanks,
Walter



More information about the wine-devel mailing list