This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: watchpoint hangs.


Jan Kratochvil a Ãcrit :
On Sat, 02 Jan 2010 21:55:24 +0100, Guillaume Yziquel wrote:

(gdb) print box
$1 = {0x0 <repeats 64 times>}
(gdb) watch box
Watchpoint 2: box
(gdb) continue
Continuing.

And it eats up 90% of one of my CPU from now on...

As it printed "Watchpoint" and not "Hardware watchpoint" it means it had to use software watchpoint for some reason. Therefore it needs to singlestep the code which should work but it is very very slow.

On amd64 (x86_64) there are only 4 hardware watch registers with 8 bytes range
each, that is 32 bytes of maximum hardware-watchable bytes of memory.

According to "{0x0 <repeats 64 times>}" your requested memory range is
probably larger.

Try to reduce the watched memory range in your specific debugging case.

Regards,
Jan

Thank you so much. This has helped tremendously. Symbol collision issue detected and solved.


By the way, completely off-topic: moving to git is indeed a very very worthwile solution. It takes quite some pain at the beginning, but it's totally worth it.

--
     Guillaume Yziquel
http://yziquel.homelinux.org/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]