This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: Debugging a Multi-threaded application on PowerPC 82xx...
- From: "Gautham Thavva" <gautham dot thavva at lycos dot com>
- To: "Daniel Jacobowitz" <drow at mvista dot com>
- Cc: gdb at sources dot redhat dot com
- Date: Wed, 09 Apr 2003 16:15:39 -0400
- Subject: Re: Debugging a Multi-threaded application on PowerPC 82xx...
- Organization: Lycos Mail (http://www.mail.lycos.com:80)
- Reply-to: gautham dot thavva at lycos dot com
Hi Daniel,
I have read in the archives that you are yet to write a FAQ and already answered this question 5 or 6 times. Please bear with me
for one more time.
A quick recap: I am running a multi-threaded application on
PowerPC 8260 and trying to debug it with gdb-5.3
In the previous reply, you had asked me to set the solib-absolute-
prefix. I set solib-absolute-prefix and still couldn't debug.
I then built the application as a static executable and tried
to debug it. It got stuck at the system calls in the application.
I then tested the system calls with a test program.
---------------------------------------------
#include <pthread.h>
#include <stdio.h>
#define NUM_THREADS 5
void *PrintHello(void *threadid)
{
<##3##> printf("\n%d: Hello World!\n", threadid);
pthread_exit(NULL);
}
int main (int argc, char *argv[])
{
pthread_t threads[NUM_THREADS];
int rc, t;
<##1##> system("mkdir story");
system("rm -rf story");
for(t=0;t < NUM_THREADS;t++){
<##2##> printf("Creating thread %d\n", t);
rc = pthread_create(&threads[t], NULL, PrintHello, (void *)t);
if (rc){
printf("ERROR; return code from pthread_create() is %d\n", rc);
exit(-1);
}
}
pthread_exit(NULL);
-------------------------------------------------------------------
I put a breakpoint at points shown by <##X##> in the above code.
It hit breakpoint 2 and 3 but never hit breakpoint 1
I placed the system calls in the main function to exclude
the possibility of gdb not handling system calls in threads.
Please can you tell me how I can resolve this issue.
I appreciate your help.
with regards,
Gautham Thavva
On Mon, 24 Mar 2003 15:43:57
Daniel Jacobowitz wrote:
>How does DDD invoke GDB? I bet it uses --symbols or the symbol-file
>command. Don't Do That! Use "file" or just "gdb gtest" instead.
>Fix DDD or say "file gtest" before saying "target remote".
>
>You also need to have your target libraries present on the host system
>and pointed to by solib-absolute-prefix or solib-search-path.
>
>And I (or someone else!) should write more bulletproof documentation
>about this since it is obviously a FAQ.
>
____________________________________________________________
Get 25MB, POP3, Spam Filtering with LYCOS MAIL PLUS for $19.95/year.
http://login.mail.lycos.com/brandPage.shtml?pageId=plus&ref=lmtplus