Date: Tue, 9 Sep 1997 19:32:29 -0500 From: Jonathan Lemon <jlemon@americantv.com> To: "Helmut F. Wirth" <hfwirth@ping.at> Cc: Bruce Evans <bde@zeta.org.au>, emulation@FreeBSD.ORG Subject: Re: Doscmd, debugging with gdb Message-ID: <19970909193229.57912@right.PCS> In-Reply-To: <3415A6B4.41C67EA6@ping.at>; from Helmut F. Wirth on Sep 09, 1997 at 09:42:44PM %2B0200 References: <199709090457.OAA28185@godzilla.zeta.org.au> <3415A6B4.41C67EA6@ping.at>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sep 09, 1997 at 09:42:44PM +0200, Helmut F. Wirth wrote:
> Here is the map from /proc/PID/map (map is from doscmd, not gdb):
>
> 0x0 0x10000 7 0 rwx vnode
> 0x10000 0xe0000 11 0 rwx default
> 0xe0000 0xf0000 0 0 rwx none
> 0xf0000 0x100000 1 0 rwx default
> 0x100000 0x110000 14 0 rwx vnode
> 0x110000 0x1ef000 52 0 rwx default
> 0x8003000 0x8013000 13 0 r-x COW vnode
> 0x8013000 0x8015000 0 2 rwx COW vnode
> 0x8015000 0x801f000 0 10 rwx default
[.. snip ..]
The problem appears to be that gdb is unable to write to any
region that is of type OBJT_DEFAULT (default) in the above
map, even though it is marked writable. gdb doesn't have any
problems reading from the address, though.
A simple test case:
> echo 'main() {}' > test.c
> cc -g test.c
> gdb a.out
(gdb) b main
(gdb) r
> cat /proc/<pid>/map
[.. snip ..]
0x8012000 0x8014000 0 2 rwx COW vnode
0x8014000 0x801c000 0 8 rwx default
[.. snip ..]
(gdb) set *0x8012000 = 0
(gdb) set *0x8014000 = 0
Error accessing memory address 0x8014000: Bad address.
I'm not sure where to look; this seems more like a vm problem.
--
Jonathan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970909193229.57912>
