I'll be fine

技術ブログ

【C言語 MPI】MPIをgdbでデバッグする方法

コードのに無限ループを挿入して止める。(場所は適当に)

int debugwait = 1;
while ( debugwait );

コンパイル時にgdbのオプション(-g)をつける

$ mpicc -g -o progname progname.c

実行

$ mpirun -np 4 ./progname &

実行中のプロセスを調べる

$ ps ax | grep progname

調べたプロセスidのノードでgdbを実行

$ gdb progname process_id

無限ループ解除

(gdb) set debugwait = 0

recvで止まる?もうちょい検証が必要。