This is the mail archive of the gdb@sourceware.org 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]

Re: How can I explain for this? what is __kernel_vsyscall () ?


2012/7/11 Tom Frank <gdbhelper@gmail.com>:
> I debug a multithreads  programme  with gdb,as it runs  I  use the
> 'info threads' command, and find that  most of the threads running at
> __kernel_vsyscall () function
>
> as below:
>
>   6    Thread 0xb61e4b90 (LWP 322) 0x008e7402 in __kernel_vsyscall ()
>   5    Thread 0xb6be5b90 (LWP 320) 0x008e7402 in __kernel_vsyscall ()
>   4    Thread 0xb7fe7b90 (LWP 318) 0x008e7402 in __kernel_vsyscall ()
>   3    Thread 0xb75e6b90 (LWP 316) 0x008e7402 in __kernel_vsyscall ()
> * 1    Thread 0xb7fe86d0 (LWP 312) 0x0074c2b8 in clone () from
> /lib/i686/nosegneg/libc.so.6
>
>
>
> what is __kernel_vsyscall (),  why most threads's frame  is in that  step ?

__kernel_vsyscall() is Linux' system call entry point and the threads
you are looking at seem to be blocking in such a syscall. To find out
which it is, you might want to have a look at their EAX register
(assuming you're on x86).

Bjoern


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