From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20728 invoked by alias); 4 Oct 2007 16:09:00 -0000 Received: (qmail 20720 invoked by uid 22791); 4 Oct 2007 16:08:59 -0000 X-Spam-Check-By: sourceware.org Received: from an-out-0708.google.com (HELO an-out-0708.google.com) (209.85.132.246) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 04 Oct 2007 16:08:55 +0000 Received: by an-out-0708.google.com with SMTP id c23so38179anc for ; Thu, 04 Oct 2007 09:08:52 -0700 (PDT) Received: by 10.142.98.18 with SMTP id v18mr1886087wfb.1191514132035; Thu, 04 Oct 2007 09:08:52 -0700 (PDT) Received: by 10.141.19.6 with HTTP; Thu, 4 Oct 2007 09:08:51 -0700 (PDT) Message-ID: <55e9e6630710040908s66d43337had870f44b3111d83@mail.gmail.com> Date: Thu, 04 Oct 2007 16:09:00 -0000 From: "haoran woo" To: gdb@sourceware.org Subject: investigate a multi-threaded core MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline 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: 2007-10/txt/msg00037.txt.bz2 Hi, I am investigating a multi-threaded core, from info threads, I can see two threads (thread 1 and thread 6) were doing something when the process cored, while other thread is sleeping or waiting for a signal. I have two questions: 1. how to know which thread caused the crash? when bring up the core by "gdb prog core", and do bt, the stack trace is for thread 1, but from looking at the code, can not find any clue; however, thread 6 is a little bit more suspcious. but since gdb by default brings up thread 1, I am not sure whether I should focus on thread 6 or thread 1. 2. this is a stripped library, how to find the args passed to the function call? I am using info frame, but the address give me anything, since this is a C++ object, and I expect to see the first arguments should have some vtable (the class has virtual functions). e.g, called by frame at 0xffffcb84 Arglist at 0xffffcb38, args: Locals at 0xffffcb38, Previous frame's sp is 0xffffcb40 Saved registers: ebx at 0xffffcb04, ebp at 0xffffcb38, esi at 0xffffcb0c, edi at 0xffffcb08, eip at 0xffffcb3c (gdb) x 0xffffcb38 0xffffcb38: 0xffffcb7c (gdb) x 0xffffcb7c 0xffffcb7c: 0xffffcb98 (gdb) Thanks for your help. -Haoran