Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Nov 1998 09:35:37 +1030
From:      Greg Lehey <grog@lemis.com>
To:        Joel Ray Holveck <joelh@gnu.org>
Cc:        SysAdmin <sa@ns.online.samara.ru>, freebsd-hackers@FreeBSD.ORG
Subject:   Re: breakpoint on i/o in kernel
Message-ID:  <19981124093537.R430@freebie.lemis.com>
In-Reply-To: <86iug6mcnq.fsf@detlev.UUCP>; from Joel Ray Holveck on Mon, Nov 23, 1998 at 01:28:41PM -0600
References:  <AAnyMMsCYR@ns.online.samara.ru> <19981123205619.Q430@freebie.lemis.com> <86iug6mcnq.fsf@detlev.UUCP>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday, 23 November 1998 at 13:28:41 -0600, Joel Ray Holveck wrote:
>>> I need breakpoint on i/o in kernel
>>> How doing this in ddb, or exist another way ?
>> Well, the syntax is:
>>  b <address>
>> <address> can be a hex value or an expression, possibly symbolic.  Are
>> you asking which address to choose?  Then you need to say what you
>> want to do.
>
> I think he's asking for an I/O breakpoint, not an address breakpoint;
> eg, break whenever a particular I/O port is accessed.

Ah, that could be.

> I don't know what CPUs have instrumentation for this.

All i386 architectures, in varying degrees.

> To the best of my knowledge, neither DDB nor GDB have any hooks to
> handle this.

Correct.

> (It might theoretically be possible with GDB using a semicomplex
> series of isteps and tests, but it would slow down your system
> possibly hundredfold.)

The correct thing to do would be to implement I/O (and memory access)
breakpoints, not kludge it.  I look at it once, and the code turned my
stomach.

I once wrote a kernel debugger (for BSD/386) which implemented these
features.  I've been meaning to do it ever since for FreeBSD, but I
still haven't got round to it.

> I generally recommend another method of debugging than I/O
> breakpoints.

That's a workaround, not a solution.  I/O breakpoints are really
useful.

Greg
--
See complete headers for address, home page and phone numbers
finger grog@lemis.com for PGP public key

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19981124093537.R430>