From owner-freebsd-hackers Mon Mar 25 07:46:34 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id HAA04334 for hackers-outgoing; Mon, 25 Mar 1996 07:46:34 -0800 (PST) Received: from nixpbe.pdb.sni.de (mail.sni.de [192.109.2.33]) by freefall.freebsd.org (8.7.3/8.7.3) with ESMTP id HAA04315 for ; Mon, 25 Mar 1996 07:46:14 -0800 (PST) Received: (from nerv@localhost) by nixpbe.pdb.sni.de (8.6.12/8.6.12) id QAA20473 for hackers@freebsd.org; Mon, 25 Mar 1996 16:44:27 +0100 Message-Id: <199603251544.QAA20473@nixpbe.pdb.sni.de> Subject: Re: kgdb / remote gdb of the kernel? To: jkh@time.cdrom.com (Jordan K. Hubbard) Date: Mon, 25 Mar 96 16:41:37 MET From: Greg Lehey Cc: lehey.pad@sni.de, pst@Shockwave.COM, hackers@freebsd.org, bde@freebsd.org In-Reply-To: <27135.827768356@time.cdrom.com>; from "Jordan K. Hubbard" at Mar 25, 96 7:39 am X-Mailer: xmail 2.4 (based on ELM 2.2 PL16) Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk >>>> I'm planning to rework kernel debugging in about a month's time. If >>>> you have any opinions about what should go in, please let me know. In >>>> particular, do you want debugging over Ethernet? >>> >>> gdb-remote! gdb-remote! >> >> Serial or Ethernet? > > Serial. I'm not aware of any IP based method of talking to a remote > gdb, I don't know of anything involving gdb, but when I was with Tandem about 5 years ago, they had something similar for the Integrity series. > and frankly I'm not even sure how it would work while > single-stepping a kernel - getting a packet off the wire and > delivering it to a usermode process takes quite a few steps, after > all, and you'd probably be left with a rather difficult debugging > scenario! :-) Yes, I had my doubts, too, but at least one manufacturer has managed it, and the question isn't "is it easy", but rather "is it desirable"? One obvious approach would be to leave interrupts enabled but change all the vectors on entering the debugger, such that most interrupts get ignored, and the ethernet interrupt goes to a special, stripped-down driver. Note also that the remote debug interface is in the kernel, and not a user process. Greg