From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3616 invoked by alias); 14 Sep 2006 18:06:34 -0000 Received: (qmail 3607 invoked by uid 22791); 14 Sep 2006 18:06:33 -0000 X-Spam-Check-By: sourceware.org Received: from mx2.palmsource.com (HELO mx2.palmsource.com) (12.7.175.14) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 14 Sep 2006 18:06:31 +0000 Received: from localhost (localhost [127.0.0.1]) by localhost.domain.tld (Postfix) with ESMTP id 4CF4826796; Thu, 14 Sep 2006 11:06:29 -0700 (PDT) Received: from mx2.palmsource.com ([127.0.0.1]) by localhost (mx2.palmsource.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 21576-02-8; Thu, 14 Sep 2006 11:06:23 -0700 (PDT) Received: from ussunex01.palmsource.com (unknown [192.168.101.9]) by mx2.palmsource.com (Postfix) with ESMTP id 7443B263CF; Thu, 14 Sep 2006 11:06:23 -0700 (PDT) Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Subject: RE: preserving gdb symbols Date: Thu, 14 Sep 2006 18:06:00 -0000 Message-ID: <0F4DF2E21F33DD46BE7B8CDEEB0E16D307EABA@ussunex01.palmsource.com> References: <20060914174909.56742.qmail@web55610.mail.re4.yahoo.com> From: "Michael Snyder" To: "Lee" , X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2006-09/txt/msg00083.txt.bz2 I am not sure if I understand what your goal is. Is it that you want to package up the core file,=20 together with all (or some) of the shared libraries on which it depends, for later debugging on a different machine? Seems like you could get at least some of that info by running ldd on the exec file.=20=20 Are you sure you need to have *all* of the shared libraries?=20=20 -----Original Message----- From: gdb-owner@sourceware.org on behalf of Lee Sent: Thu 9/14/2006 10:49 AM To: gdb@sources.redhat.com Subject: preserving gdb symbols =20 Sorry, one more painful shared library symbol question. When I have a customer's machine core, I can open the core with something like=20 gdb --readnow /usr/bin/myapp core.1234 gdb then reads the binaries to read in the needed symtabs=20 I now have every symbol in memory that I need for what I am doing.=20=20 Currently i have to use a script to read all of the loaded statements, parse it, and pipe that out and tar up all of the needed libraries so that I can get matching binaries for shared libraries and have a useful core to read. This is usually in the order of 60 to 100 shared libraries). We ofcourse are doing this on HPUX, linux (redhat and suse), and solaris.=20 So getting every vendor to change their core format while probably the best option, is not very likely. So my question is first of all is there any way I can just save all of the symbol information I have in memory, so that I can reload it when reading the core on a different machine.=20=20=20 If not, then we are still stuck with always having to have the exact shared library to read the symbols from. The gnu_debug_link is even worthless as u have to read that out of the actual shared library, its not in the core.=20 I modified solib_read_symbols. I changed it so that if you added a switch on gdb's command line then each time a call was made to solib_read_symbols I then kept the file. In my case I used the command interface to exec tar. A person could tack them on the end of the core file, or create your own package in whatever format is generally acceptable. Would a solution of anything like this be acceptable to get back into the gdb source ? Lee __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around=20 http://mail.yahoo.com=20