From owner-cvs-all@FreeBSD.ORG Mon Sep 12 00:51:37 2005 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1DBF516A41F; Mon, 12 Sep 2005 00:51:37 +0000 (GMT) (envelope-from grog@lemis.com) Received: from ext-gw.lemis.com (ext-gw.lemis.com [150.101.14.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id 636D943D46; Mon, 12 Sep 2005 00:51:36 +0000 (GMT) (envelope-from grog@lemis.com) Received: from wantadilla.lemis.com (wantadilla.lemis.com [192.109.197.135]) by ext-gw.lemis.com (Postfix) with ESMTP id 846CE1310DA; Mon, 12 Sep 2005 10:21:34 +0930 (CST) Received: by wantadilla.lemis.com (Postfix, from userid 1004) id 4602F84F7E; Mon, 12 Sep 2005 10:21:34 +0930 (CST) Date: Mon, 12 Sep 2005 10:21:34 +0930 From: Greg 'groggy' Lehey To: Kris Kennaway Message-ID: <20050912005134.GB2929@wantadilla.lemis.com> References: <20050911002229.51F4916A471@hub.freebsd.org> <432382BC.5080105@root.org> <20050911022901.GA3090@xor.obsecurity.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="98e8jtXdkpgskNou" Content-Disposition: inline In-Reply-To: <20050911022901.GA3090@xor.obsecurity.org> User-Agent: Mutt/1.4.2.1i Organization: The FreeBSD Project Phone: +61-8-8388-8286 Fax: +61-8-8388-8725 Mobile: +61-418-838-708 WWW-Home-Page: http://www.FreeBSD.org/ X-PGP-Fingerprint: 9A1B 8202 BCCE B846 F92F 09AC 22E6 F290 507A 4223 Cc: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org, "David E. O'Brien" , Nate Lawson , Garance A Drosihn Subject: How to debug kernels (was: cvs commit: src/sys/conf kern.post.mk) X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Sep 2005 00:51:37 -0000 --98e8jtXdkpgskNou Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Saturday, 10 September 2005 at 22:29:02 -0400, Kris Kennaway wrote: > On Sat, Sep 10, 2005 at 10:01:15PM -0400, Garance A Drosihn wrote: >> At 6:05 PM -0700 9/10/05, Nate Lawson wrote: >>> David E. O'Brien wrote: >>>> obrien 2005-09-11 00:22:21 UTC >>>> >>>> FreeBSD src repository >>>> >>>> Modified files: >>>> sys/conf kern.post.mk Log: >>>> For HEAD, install a kernel with debug information if DEBUG is a kernel >>>> config option. It is too easy to loose the build directory and not have >>>> symbols for kgdb to read. >>>> Revision Changes Path >>>> 1.84 +4 -17 src/sys/conf/kern.post.mk >>> >>> I disagree with this change. We do not need to waste the space >>> in /. If I'm running a debug kernel, it is based on the latest >>> version of kernel.debug in my kernel compile dir and I know to >>> find it there. >> >> Fwiw, I've been burned by building a debug kernel, only to have >> removed the original compile-directory for that kernel by the time I >> actually *needed* the debug symbols. It's one thing if you're building >> a debug kernel because you know you're going to spend the next hour >> debugging some change. It's another if you're building a debug kernel >> because your machine might panic sometime in the next two or three >> weeks. > > Likewise, I also find this change very useful. When I'm juggling a > few dozen panics on a few dozen machines with a few dozen different > customized source trees, it's hard to keep track of all the > kernel.debugs. Now I don't have to. A lot must depend on how you use your debug kernel. One of the biggest problems I've found is keeping the kernel and the sources in sync. This change makes it more difficult. Also, the kernel build can install debugging macros in the build directory; if you blow away that directory, you've lost the macros too. The method I use is described in http://wwww.lemis.com/grog/Papers/Debug-tutorial/tutorial.pdf. Basically, you debug from the kernel build directory and just pull in the dump from /var/crash. I'm planning to present it again in Basel in November, so if anybody disagrees with the approach, now is the time to tell me. With this method, having symbols in the booted kernel is a waste of time and space. Greg -- See complete headers for address and phone numbers. --98e8jtXdkpgskNou Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (FreeBSD) iD8DBQFDJNEWIubykFB6QiMRAl1uAJ0WpTPyyuzgx4syeso3mqsBJp1csACeN59a yv2UsIIgDyStPGMAjQ4kNo4= =98E8 -----END PGP SIGNATURE----- --98e8jtXdkpgskNou--