Счетчик программ Pthread

Используя pthreads для C, есть ли способ получить доступ к счетчику программ / указателю команд для определенных потоков?

Пример:

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 ответ

Проверять, выписываться backtrace(); он поддерживается на обеих ваших платформах.

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

Увидеть man 3 backtrace для деталей. Помните, что все потоки работают одинаково thread_main сообщит то же самое pc,

Другие вопросы по тегам