From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18982 invoked by alias); 7 Oct 2008 10:27:55 -0000 Received: (qmail 18974 invoked by uid 22791); 7 Oct 2008 10:27:54 -0000 X-Spam-Check-By: sourceware.org Received: from smtp.nokia.com (HELO mgw-mx06.nokia.com) (192.100.122.233) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 07 Oct 2008 10:27:19 +0000 Received: from esebh106.NOE.Nokia.com (esebh106.ntc.nokia.com [172.21.138.213]) by mgw-mx06.nokia.com (Switch-3.2.6/Switch-3.2.6) with ESMTP id m97ARBtI021302 for ; Tue, 7 Oct 2008 13:27:15 +0300 Received: from vaebh102.NOE.Nokia.com ([10.160.244.23]) by esebh106.NOE.Nokia.com with Microsoft SMTPSVC(6.0.3790.3959); Tue, 7 Oct 2008 13:26:51 +0300 Received: from vaebh101.NOE.Nokia.com ([10.160.244.22]) by vaebh102.NOE.Nokia.com with Microsoft SMTPSVC(6.0.3790.3959); Tue, 7 Oct 2008 13:26:51 +0300 Received: from bettdhcp167168.europe.nokia.com ([172.25.167.168]) by vaebh101.NOE.Nokia.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.3959); Tue, 7 Oct 2008 13:26:51 +0300 From: =?iso-8859-1?q?Andr=E9_P=F6nitz?= To: gdb@sources.redhat.com Subject: How to use auto-solib-add properly? Date: Tue, 07 Oct 2008 10:27:00 -0000 User-Agent: KMail/1.9.9 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200810071228.21179.apoenitz@trolltech.com> X-Nokia-AV: Clean X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2008-10/txt/msg00027.txt.bz2 Hi all. I am trying to find a way to make existing incarnations of gdb start up reasonably quick in the presence of shared objects with large amounts of debug information. The test application in question is linked to about 50 shared objects and loads a couple of plugins pulling in another 50 shared objects. Total debug information read is a bit less than 1 GB, most of it is in "external" "foo.so.debug" files. Application starts in about 3 seconds outside gdb (with "cold" caches), within gdb it takes about 2 minutes and uses about 1.4 GB of RAM. I want to be able to set break points by file and line and/or function name in both the main application and in dlopen'd files. My idea was to use set auto-solib-add off set stop-on-solib-events 1 and whenever a "shared library event" is encountered I'd do: for all shared objects except some big ones that I want to avoid do: sharedlibrary continue Am I on the right track here? Are there easier ways to achieve what I want? Is there a way to find out what exactly triggered the shared lib event? In MI one usually gets a 'reason' field when hitting a break point. For shared lib events the output is pretty short, though: ~"Stopped due to shared library event\n" 17*stopped,thread-id="0" (gdb) Thanks for any advice in advance, Andre'