This is the mail archive of the 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]

pthread_create, Program received signal ?, Unknown signal


I am trying to debug a multi-threaded application on arm-linux  target
from i386-linux host using GDB-5.3. 

I am using gcc(3.2.3) and using the same set of shared libraries (came
with gcc(3.2.3)on the target also in order to run gdbserver.

Below is my sample application 
1 #include <stdio.h>
      2 #include <pthread.h>
      4 void * call_back(void *);
      5 int main()
      6 {
      7         int count=0;
      8         pthread_t thread_id;
      9         if ( pthread_create(&thread_id, NULL, call_back, NULL)
!= 0){
     10                 perror("pthread_create() Failed");
     11                 return 0;
     12         }
     13         while(1){
     14                 count++;
     15                 sleep(1);
     16                 printf("Main Thread Count (%d) \n", count);
     17         }
     18 }
     19 void    * call_back(void *arg)
     20 {
     21         int count=0;
     22         while(1){
     23                 count++;
     24                 sleep(3);
     25                 printf("Thread Loop count (%d) \n", count);
     26         }
     27 }


Screen shot on the HOST side

GNU gdb 5.3
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
welcome to change it and/or distribute copies of it under certain
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for
This GDB was configured as "--host=i686-pc-linux-gnu
(gdb) et solib-absolute-prefix /dev/null
Undefined command: "et".  Try "help".
(gdb) set solib-absolute-prefix /dev/null
(gdb) set solib-search-path /home/balaram/links_to_lib_dir
(gdb) file threads
Reading symbols from threads...done.
(gdb) target remote
Remote debugging using
0x40002560 in ?? ()
(gdb) break 9
Breakpoint 1 at 0x84d0: file threads.c, line 9.
(gdb) cont
Breakpoint 1, main () at threads.c:9
9               if ( pthread_create(&thread_id, NULL, call_back, NULL)
!= 0){
(gdb) n
Program received signal ?, Unknown signal.
0x4005b3a4 in ?? ()

On the Target Side, the child thread got created and this is the
following screen shot

./gdbserver ./threads
Process ./threads created; pid = 189
Remote debugging from host
Thread Loop count (1)
Thread Loop count (2)
Thread Loop count (3)
Thread Loop count (4)
Thread Loop count (5)
Thread Loop count (6)
Thread Loop count (7)
Thread Loop count (8)

Points to be clarified
1. What happened to debug messages from Main thread on the target?
2. How to resolve the error messgae "Program received signal ?, Unknown
signal" came on the Host Side.  

Am I missing anything out in this case?

Thanks and Regards,

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