Pthread程序计数器

时间:2017-01-26 19:24:05

标签: c multithreading pthreads program-counter

对C使用pthreads,有没有办法访问特定线程的程序计数器/指令指针?

示例:

void *thread_main(void *arg) {
  long thread = (long)arg;

  lock (thread);
  ***print (thread.pc);*** 
  critical_section (thread);
  ***print (thread.pc);***  
  unlock (thread);

  return NULL;
}

1 个答案:

答案 0 :(得分:0)

结帐backtrace();它在您的平台上都受支持。

    #include <execinfo.h>
    ....
        void * pc;
        backtrace(&pc, 1);
    ....

有关详细信息,请参阅man 3 backtrace。请注意,运行相同thread_main的所有线程都会报告相同的pc