开发者

thread stack pointer

In Linux 2.6.32-32, is there a way to find the following information about a thread programmatically in a pthreads program? I need: run count, stack pointer,开发者_如何学JAVA stack start/end, stack size, stack usage. Something like ThreadX, I guess, but within a program. Thanks.


  • pthread_getattr_np() should give you the pthread attributes of a thread
  • pthread_attr_getstack() returns the stack address and size
  • I don't know what you mean by run count.
  • For the stack pointer of a thread different than your current one you might need to use ptrace. Once you have it, you can use it to do the maths for determining how much of the stack is used.

For obtaining your own stack pointer you can always do something along the lines of:

mword sp;
asm volatile ("mov %esp, $0" : "=r"(sp));


As an addendum to BjoernD's answer, you can obtain context switch counts and total run time using the getrusage call with RUSAGE_THREAD. You cannot obtain information on the raw number of time slices executed; this information is not tracked in the first place.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜