GNU bug report logs -
#22287
25.1.50; Sudden jumping point in buffer
Previous Next
Reported by: "Stefan-W. Hahn" <stefan.hahn <at> s-hahn.de>
Date: Sat, 2 Jan 2016 01:52:04 UTC
Severity: normal
Found in version 25.1.50
Done: David Engster <deng <at> randomsample.de>
Bug is archived. No further changes may be made.
Full log
Message #35 received at 22287 <at> debbugs.gnu.org (full text, mbox):
> Date: Tue, 5 Jan 2016 20:51:30 +0100
> From: "Stefan-W. Hahn" <stefan.hahn <at> s-hahn.de>
> Cc: deng <at> randomsample.de, 22287 <at> debbugs.gnu.org
>
> > If you tell how you defined the watchpoint, I might be able to help
> > you redefine it so that hardware-assisted watchpoints are used by GDB.
>
> Any hint welcome.
First, your watchpoints are hardware-assisted, so the problem is a
different one than what I imagined. Which is good.
Don't use awatch, you only want a watchpoint to trigger when the value
of point actually changes, not when it's being read by some code. Use
the "watch" command.
Next, I'm guessing that the watchpoint fires all the time, and that's
what slows down Emacs. One way to make the situation better is to
condition the watchpoint on the value of point (since your previous
tests repeatedly move point from one known position to another known
position). Like this:
(gdb) watch -l current_buffer->pt if current_buffer->pt == POS
(gdb) commands
> xbacktrace
> continue
> end
(gdb)
where POS is the value of buffer position to which point jumps when it
should have stayed put.
Note that I used "watch -l" (the letter ell) -- this will limit the
watchpoint to watching only point of the buffer that is current when
you type these GDB commands. You will have to arrange that the
current buffer at that time is the buffer that visits intervals.c.
Let me know if the above is enough to allow you to run a session.
Thanks.
This bug report was last modified 9 years and 144 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.