|
From: | Eddie Kohler |
Subject: | Re: [Qemu-devel] Re: [PATCH] i386 debugging stubs: Consider segment bases |
Date: | Sat, 25 Sep 2010 01:35:39 -0700 |
User-agent: | Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.9) Gecko/20100915 Thunderbird/3.1.4 |
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
[Prev in Thread] | Current Thread | [Next in Thread] |