From owner-freebsd-hackers@FreeBSD.ORG Mon Aug 30 16:12:57 2010 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2BF0B106566C; Mon, 30 Aug 2010 16:12:57 +0000 (UTC) (envelope-from pebu3op@googlemail.com) Received: from mail-ew0-f54.google.com (mail-ew0-f54.google.com [209.85.215.54]) by mx1.freebsd.org (Postfix) with ESMTP id 811E08FC08; Mon, 30 Aug 2010 16:12:55 +0000 (UTC) Received: by ewy4 with SMTP id 4so3571832ewy.13 for ; Mon, 30 Aug 2010 09:12:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:received:received:date:from:to:cc:subject :message-id:reply-to:mail-followup-to:references:mime-version :content-type:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=badbaG216MEApN2909jiRjsOdZZV9j+MQNQbobCgVck=; b=kxNPIHplJ/6YzkUTT/Sz42gV/fOMJVjMyvrjcpkBdF6hx6KO93rrPZxNcpFx2LcKiy joDQPu5ug5RYdMtMjyr7cyvvY0K0viAMii3AFUMzDIKld17goEruhlwAYe0GdCt49V/u XrW5CYhOytWH8Sh+4H4nZMDoP/4ThExlvc0V8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=date:from:to:cc:subject:message-id:reply-to:mail-followup-to :references:mime-version:content-type:content-disposition :content-transfer-encoding:in-reply-to:user-agent; b=deKjsDvqEL0QR2Bu6h7JJb2wDziZnz5z+QPMtp5VxLRGIfF6n+9NGK1m4B075cJWkT Y1m78qTuFz4GO1HZU5jO/jEk9ryPVxZYsmL8nD6bpqziFcyNES6EBcLjFVIDhC3V7GzY iQ6Y3ywjHOkLmlXHqjMWJ9xsA7qiwB0bfZN5E= Received: by 10.216.7.129 with SMTP id 1mr5104650wep.90.1283184774889; Mon, 30 Aug 2010 09:12:54 -0700 (PDT) Received: from debmaster-laptop ([130.149.220.190]) by mx.google.com with ESMTPS id k7sm4558220wej.26.2010.08.30.09.12.52 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 30 Aug 2010 09:12:53 -0700 (PDT) Date: Mon, 30 Aug 2010 18:12:50 +0200 From: Alexander Fiveg To: John Baldwin Message-ID: <20100830161250.GA3135@debmaster-laptop> Mail-Followup-To: John Baldwin , freebsd-hackers@freebsd.org, doc@freebsd.org References: <20100827201140.GA2812@debmaster-laptop> <201008300816.11278.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <201008300816.11278.jhb@freebsd.org> User-Agent: Mutt/1.5.20 (2009-06-14) Cc: freebsd-hackers@freebsd.org, doc@freebsd.org Subject: Re: Debugging Loadable Modules Using GDB X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Alexander Fiveg List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Aug 2010 16:12:57 -0000 On Mon, Aug 30, 2010 at 08:16:11AM -0400, John Baldwin wrote: > On Friday, August 27, 2010 4:11:41 pm Alexander Fiveg wrote: > > Hi, > > from "FreeBSD Developers' Handbook, 10.7 Debugging Loadable Modules Using > > GDB": > > "... > > (kgdb) add-symbol-file /sys/modules/linux/linux.ko 0xc0ae22d0 > > ... > > " > > Actually I couldn't debug my modules using .ko-file. Moreover, I've find out > that .ko files do not contain sections with debugging info. With .kld-file > debugging works out. Do I something incorrectly or the info in the Developers > Book is outdated? > > With newer versions of kgdb you shouldn't need to manually invoke 'add-symbol- > file'. Kernel modules are treated as shared libraries and should > automatically be loaded. Try using 'info sharedlibrary' to see the list of > kernel modules and if symbols for them are loaded already. Yes, the .ko files are loaded automatically. The problem is that they do not contain debugging info. I have always to load the .kld file in order to debug a module: (kgdb) f 9 #9 0xc4dc558b in rm_8254_delayed_interrupt_per_packet () from /boot/kernel/if_ringmap.ko (kgdb) info locals No symbol table info available. (kgdb) add-symbol-file /home/alexandre/p4/ringmap/current/sys/modules/ringmap/if_ringmap.kld 0xc4dafc70 add symbol table from file "/home/alexandre/p4/ringmap/current/sys/modules/ringmap/if_ringmap.kld" at .text_addr = 0xc4dafc70 (y or n) y Reading symbols from /home/alexandre/p4/ringmap/current/sys/modules/ringmap/if_ringmap.kld...done. (kgdb) f 9 #9 0xc4dc558b in rm_8254_delayed_interrupt_per_packet () at /home/alexandre/p4/ringmap/current/sys/modules/ringmap/../../dev/e1000/ringmap_8254.c:142 142 co->ring->slot[slot_num].ts = co->ring->last_ts; (kgdb) info locals co = (struct capt_object *) 0xc4d68380 adapter = (struct adapter *) 0xc4e77000 __func__ = "E\000\000�\034@\000\000\211\203�E\000\000\017\206B\022\000\000\2039\000\213A\004\017\205�\f\000\000\001��1�" Is there any way to get the all symbols and needed debug info without loading the .kld file ? Alex > > -- > John Baldwin > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org" -- Alexander Fiveg Key fingerprint = ECBB 747C 919D 78F5 E8EC 7DBC 8B46 376D 107B CCAA