From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8730 invoked by alias); 2 Oct 2007 02:00:27 -0000 Received: (qmail 8459 invoked by uid 22791); 2 Oct 2007 02:00:26 -0000 X-Spam-Check-By: sourceware.org Received: from vms044pub.verizon.net (HELO vms044pub.verizon.net) (206.46.252.44) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 02 Oct 2007 02:00:17 +0000 Received: from TimMichalsPC ([72.64.90.148]) by vms044.mailsrvcs.net (Sun Java System Messaging Server 6.2-6.01 (built Apr 3 2006)) with ESMTPA id <0JP900G6LHKB2162@vms044.mailsrvcs.net> for gdb@sourceware.org; Mon, 01 Oct 2007 21:00:15 -0500 (CDT) Date: Tue, 02 Oct 2007 02:00:00 -0000 From: "Tim Michals" Subject: RE: debugging threads In-reply-to: <000601c8030d$fb92a8d0$f2b7fa70$@net> To: Message-id: <000a01c80497$f79af6c0$e6d0e440$@net> MIME-version: 1.0 X-Mailer: Microsoft Office Outlook 12.0 Content-type: text/plain; charset=us-ascii Content-language: en-us Content-transfer-encoding: 7bit References: <000601c8030d$fb92a8d0$f2b7fa70$@net> 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: 2007-10/txt/msg00008.txt.bz2 I've narrowed the issue down it to using -static gcc option version shared libraries For example: Ok, this might be a user error, but... I did exactly what you did and yes it worked. I'm using the latest and greatest from boost cvs. So mine is in /usr/local/lib... So using that library and changing the path ... [tcmichals@localhost examples]$ g++ -o helloworld helloworld.cpp -Wall -ggdb2 - pthread -L/usr/local/lib -lboost_thread-gcc41-mt-d [tcmichals@localhost examples]$ export LD_LIBRARY_PATH=/usr/local/lib [tcmichals@localhost examples]$ gdb helloworld GNU gdb Red Hat Linux (6.6-15.fc7rh) Copyright (C) 2006 Free Software Foundation, Inc. Using host libthread_db library "/lib/libthread_db.so.1". (gdb) b main Breakpoint 1 at 0x8048a78: file helloworld.cpp, line 17. (gdb) start Breakpoint 2 at 0x8048a78: file helloworld.cpp, line 17. Starting program: /home/tcmichals/examples/helloworld [Thread debugging using libthread_db enabled] [New Thread -1209014576 (LWP 2826)] [Switching to Thread -1209014576 (LWP 2826)] Breakpoint 1, main () at helloworld.cpp:17 17 boost::thread thrd(&helloworld); (gdb) It worked!!! ok if I do the following: The program is running. Exit anyway? (y or n) y [tcmichals@localhost examples]$ g++ -static -o helloworld helloworld.cpp -Wall -ggdb2 -pthread -L/usr/local/lib -lboost_thread-gcc41-mt-d [tcmichals@localhost examples]$ [tcmichals@localhost examples]$ ls /usr/local/lib/libboost_thread* /usr/local/lib/libboost_thread-gcc41-mt-1_35.a /usr/local/lib/libboost_thread-gcc41-mt-1_35.so /usr/local/lib/libboost_thread-gcc41-mt-1_35.so.1.35.0 /usr/local/lib/libboost_thread-gcc41-mt.a /usr/local/lib/libboost_thread-gcc41-mt-d-1_35.a /usr/local/lib/libboost_thread-gcc41-mt-d-1_35.so /usr/local/lib/libboost_thread-gcc41-mt-d-1_35.so.1.35.0 /usr/local/lib/libboost_thread-gcc41-mt-d.a /usr/local/lib/libboost_thread-gcc41-mt-d.so /usr/local/lib/libboost_thread-gcc41-mt.so [tcmichals@localhost examples]$ gdb helloworld GNU gdb Red Hat Linux (6.6-15.fc7rh) Copyright (C) 2006 Free Software Foundation, Inc. This GDB was configured as "i386-redhat-linux-gnu"... Using host libthread_db library "/lib/libthread_db.so.1". (gdb) b main Breakpoint 1 at 0x80482ac: file helloworld.cpp, line 17. (gdb) start Breakpoint 2 at 0x80482ac: file helloworld.cpp, line 17. Starting program: /home/tcmichals/examples/helloworld [Thread debugging using libthread_db enabled] Cannot find new threads: generic error (gdb) Then I try to exit gdb and it locks up... But I thought -static links the static library? well, now atleast I know what the difference is and the issue, but don't know why.