マルチスレッド処理のデバッグや解析において、gdbで各スレッドの実行・停止を制御する操作についてメモ。 なお今回は解説で以下のサンプルコードを使用する。ここでは3つのスレッドがそれぞれ「m_count 」「t1_count 」「t2_count 」の3つの変数をインクリメントしている。 //main.c #include <stdio.h> #include <unistd.h> #include <pthread.h> static unsigned int m_count = 0, t1_count = 0, t2_count = 0; void *thread1(void *args) { while (1) { t1_count++; } return NULL; } void *thread2(void *args) { while (1) { t2_count++; } ret