Thanks for the response. I agree the patch is a workaround, but it is a useful workaround, and I'd still argue for including it.

The patch doesn't *require* that CS.base == DS.base. Breakpoints correctly and exclusively use CS.base. However, any memory examination uses DS.base, and you're right that the user might "want" to examine some other segment. A GDB fix would involve changing the gdb remote protocol as well as GDB itself and the GDB user interface. Google says you've been thinking about that for a while now -- is it going well?

For the time being, you should be able to workaround the gdb limitation
by setting two breakpoints: one on the linear address and another one on
the CS offset. Not nice, but used to work for us.

I don't mind the double-breakpoint as much, but memory examination would still be broken, yes?

I don't understand the comment about "prevents setting breakpoints on inactive segments." The code for setting breakpoints has not changed.

Do you think the patch would actually make debugging WORSE on any OS? Or have any other undesirable effects, or make it harder to DTRT when GDB is ready? It seems safe & useful to me; & it's 2 LOC!

Eddie

Reply via email to