gdb调试多线程程序时的问题, 为何不在断点处停下来?
gdb调试多线程程序时的问题,   为何不在断点处停下来?    
 环境:   redhat   as   2.1   +   gcc2.96   +   gdb5.3.90   
 先进入gdb,   然后attach一个正在运行的服务器程序的pid 
 在调试多线程程序时遇到一个问题,   我在一个服务器线程函数中设置了一个断点 
 然后客户端访问服务器,   本来程序应该在这个断点处停下来,   但gdb显示:   
 Program   received   signal   SIGTRAP,   Trace/breakpoint   trap. 
 0x40b11322   in   accept   ()   from   /lib/libc.so.6   
 居然在libc.so.6库中停了下来???      使用bt命令的输出如下: 
 #0      0x40b11322   in   accept   ()   from   /lib/libc.so.6 
 #1      0x40027213   in   accept   ()   from   /lib/libpthread.so.0 
 #2      0x0804f20a   in   Srv   ()   at   test.c:2674 
 #3      0x0804f719   in   main   (argc=1,   argv=0xbffec3f4)   at   test.c:2867   
 但在简单的多线程程序的调试过程中没有这个问题(到断点处程序都会停下来) 
 请问这个问题如何解决??    
------解决方案--------------------在到达断点之前收到了signal SIGTRAP 
 这个信号中断了程序的运行?   
 你可以先检查这个信号的原因, 
 如果没有问题,再continue试试能不能跑到断点处
------解决方案--------------------SIGTRAP: 当子进程因被追踪而暂停时便产生此信号给父进程.
------解决方案--------------------没有结果
------解决方案--------------------info thread 
 thread #