This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Remote Multithreaded Debugging


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]