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]

pthread_create, Program received signal ?, Unknown signal


Hi,

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>
      3
      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
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for
details.
This GDB was configured as "--host=i686-pc-linux-gnu
--target=arm-linux".
(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 107.108.3.197:2020
Remote debugging using 107.108.3.197:2020
0x40002560 in ?? ()
(gdb) break 9
Breakpoint 1 at 0x84d0: file threads.c, line 9.
(gdb) cont
Continuing.
 
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 ?? ()
(gdb)
/%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/


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

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
./gdbserver 107.108.3.197:2020 ./threads
Process ./threads created; pid = 189
Remote debugging from host 107.108.3.145
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,
Balaram.





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