Я использую этот маленький метод homebrewn, чтобы присоединить отладчик к процессам MPI - вызовите следующую функцию, DebugWait (), сразу после MPI_Init () в вашем коде. Теперь, пока процессы ждут ввода с клавиатуры, у вас есть все время, чтобы присоединить к ним отладчик и добавить точки останова. Когда вы закончите, введите один символ, и вы готовы к работе.
static void DebugWait(int rank) {
char a;
if(rank == 0) {
scanf("%c", &a);
printf("%d: Starting now\n", rank);
}
MPI_Bcast(&a, 1, MPI_BYTE, 0, MPI_COMM_WORLD);
printf("%d: Starting now\n", rank);
}
Конечно, вы захотите скомпилировать эту функцию только для отладочных сборок.