簡體   English   中英

如果進程掛在MPI_Recv上,則不會顯示MPI C fprintf()輸出

[英]MPI C fprintf() output not showing up if the process hangs on MPI_Recv

我正在編寫MPI C程序。 我在調試它時遇到了麻煩,因為每當我使用fprintf時,就像這樣:fprintf(stdout,“ worker:%d”,worker); 如果程序由於某些MPI_Recv阻塞而掛起,我看不到任何輸出。 我確定代碼行已到達,因為我可以在fprintf語句之后放置一個return語句,在這種情況下,過程完成執行並輸出輸出。 關於如何打印(請參見輸出)的任何想法,即使該過程后來被Recv阻止了? 我希望這是有道理的。

默認情況下, stdout是行緩沖的,因此您可能希望以換行符結束調試打印調用:

fprintf(stdout, "workder: %d\n", worker);

如果您不想換行,則可以自己刷新流:

fprintf(stdout, "workder: %d", worker);
fflush(stdout);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM