From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2406 invoked by alias); 29 Apr 2004 20:13:45 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 2388 invoked from network); 29 Apr 2004 20:13:43 -0000 Received: from unknown (HELO nexserver.spectracomcorp.com) (64.65.245.202) by sources.redhat.com with SMTP; 29 Apr 2004 20:13:43 -0000 Received: (from root@localhost) by nexserver.spectracomcorp.com (8.11.6/8.11.6) id i3TKDdq19565 for gdb@sources.redhat.com; Thu, 29 Apr 2004 16:13:39 -0400 Received: from CoOp4 ([10.10.200.196]) by nexserver.spectracomcorp.com (8.11.6/8.11.6) with SMTP id i3TKDZn19489 for ; Thu, 29 Apr 2004 16:13:37 -0400 Message-ID: <00a201c42e26$76475dc0$c4c80a0a@CoOp4> From: "Eric Hammerle" To: Subject: Remote Multithreaded Debugging Date: Thu, 29 Apr 2004 23:26:00 -0000 MIME-Version: 1.0 X-Scanner: Protected by NexServerPro and F-Secure Anti-Virus Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-SW-Source: 2004-04/txt/msg00182.txt.bz2 Hi, I'm currently attempting to get gdbserver 5.3 to debug a multithreaded program on an ARM7TDMI. I'm using uClibc 0.9.19 and uClinux kernel v 2.4.20. So far I have been able to debug single threaded programs while testing, but have had no luck in getting gdbserver to see the other threads. Two questions: 1. Is the mmu-less arm able to debug multithreaded programs using gdbserver? 2. When loading a multithreaded program, after calling add-symbol-file I get the following debug output: gdbserver with remote_debug and debug_threads set to 1: getpkt ("qSymbol::"); [sending ack] [sent ack] putpkt ("$qSymbol:5f5f707468726561645f746872656164735f6576656e7473#0d"); [lookin g for ack] [received '+' (0x2b)] getpkt ("qSymbol:318018:5f5f707468726561645f746872656164735f6576656e7473"); [se nding ack] [sent ack] putpkt ("$qSymbol:5f5f6c696e7578746872656164735f76657273696f6e#a9"); [looking fo r ack] [received '+' (0x2b)] getpkt ("qSymbol:b09824:5f5f6c696e7578746872656164735f76657273696f6e"); [sendin g ack] [sent ack] putpkt ("$qSymbol:5f5f707468726561645f6c6173745f6576656e74#90"); [looking for ac k] [received '+' (0x2b)] getpkt ("qSymbol:318020:5f5f707468726561645f6c6173745f6576656e74"); [sending ac k] [sent ack] putpkt ("$qSymbol:5f5f707468726561645f68616e646c65735f6e756d#5b"); [looking for ack] [received '+' (0x2b)] getpkt ("qSymbol:1406e4:5f5f707468726561645f68616e646c65735f6e756d"); [sending ack] [sent ack] putpkt ("$qSymbol:5f5f707468726561645f68616e646c6573#1f"); [looking for ack] [received '+' (0x2b)] getpkt ("qSymbol:13c6e4:5f5f707468726561645f68616e646c6573"); [sending ack] [sent ack] putpkt ("$qSymbol:707468726561645f6b657973#7e"); [looking for ack] [received '+' (0x2b)] getpkt ("qSymbol:140b20:707468726561645f6b657973"); [sending ack] [sent ack] putpkt ("$qSymbol:5f5f6c696e7578746872656164735f707468726561645f746872656164735f 6d6178#cb"); [looking for ack] [received '+' (0x2b)] getpkt ("qSymbol:b097e0:5f5f6c696e7578746872656164735f707468726561645f7468726561 64735f6d6178"); [sending ack] [sent ack] putpkt ("$qSymbol:5f5f6c696e7578746872656164735f707468726561645f6b6579735f6d6178 #c0"); [looking for ack] [received '+' (0x2b)] getpkt ("qSymbol:b0982c:5f5f6c696e7578746872656164735f707468726561645f6b6579735f 6d6178"); [sending ack] [sent ack] putpkt ("$qSymbol:5f5f6c696e7578746872656164735f707468726561645f73697a656f665f64 65736372#68"); [looking for ack] [received '+' (0x2b)] getpkt ("qSymbol:b09820:5f5f6c696e7578746872656164735f707468726561645f73697a656f 665f6465736372"); [sending ack] [sent ack] Writing ff to 00318018 putpkt ("$qSymbol:5f5f6c696e7578746872656164735f6372656174655f6576656e74#b6"); [ looking for ack] [received '+' (0x2b)] getpkt ("qSymbol:a4dd34:5f5f6c696e7578746872656164735f6372656174655f6576656e74") ; [sending ack] [sent ack] Writing 01 to 00a4dd34 putpkt ("$qSymbol:5f5f6c696e7578746872656164735f696e697469616c5f7265706f72745f65 76656e7473#3f"); [looking for ack] [received '+' (0x2b)] getpkt ("qSymbol:318028:5f5f6c696e7578746872656164735f696e697469616c5f7265706f72 745f6576656e7473"); [sending ack] [sent ack] Writing 01 to 00318028 [at this point the program is no longer responsive] I don't get this problem when debugging single threaded programs. Any help would be most appreciated. Thanks in advance! E. Hammerle