From owner-cvs-src@FreeBSD.ORG Wed Aug 3 11:30:41 2005 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0D4F116A41F; Wed, 3 Aug 2005 11:30:41 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [204.156.12.53]) by mx1.FreeBSD.org (Postfix) with ESMTP id AA70D43D46; Wed, 3 Aug 2005 11:30:40 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by cyrus.watson.org (Postfix) with ESMTP id E8C1A46B43; Wed, 3 Aug 2005 07:30:39 -0400 (EDT) Date: Wed, 3 Aug 2005 12:33:00 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Jeff Roberson In-Reply-To: <200508030427.j734ReCC049031@repoman.freebsd.org> Message-ID: <20050803123129.W16482@fledge.watson.org> References: <200508030427.j734ReCC049031@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/alpha/alpha db_trace.c src/sys/arm/arm db_trace.c src/sys/conf files src/sys/i386/i386 db_trace.c src/sys/ia64/ia64 db_trace.c src/sys/kern subr_stack.c src/sys/powerpc/powerpc db_trace.c src/sys/sparc64/sparc64 ... X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Aug 2005 11:30:41 -0000 On Wed, 3 Aug 2005, Jeff Roberson wrote: > Added files: > sys/kern subr_stack.c > sys/sys stack.h > Log: > - Add support for saving stack traces and displaying them via printf(9) > and KTR. > > Contributed by: Antoine Brodin > Concept code from: Neal Fachan This sounds really great. I have a local /usr/src/sys/kern/kern_utrace.c for back-tracing user application stacks that I find quite useful -- I wonder if we could extend this to also work with user thread stacks? It can be quite handy for determining how an application reached a particularly obscure kernel state. It doesn't do the ELF magic, but does reach into VM to determine what object+offset backs each page pointed to by a return address. Thanks, Robert N M Watson