我有一個C++應用程序接受來自客戶端應用程序的TCP連接。調試TCP服務器
看似隨機的時間運行罰款(天)後,它停止接收來自客戶端的後續消息,只看到每個TCP連接上的第一條消息。重新開始後,一切都很好。
問題是,這隻發生在我必須重新啓動的生產服務器上,一旦它卡住,我一直無法在實驗室機器上重現此操作。沒有任何套接字操作似乎會返回一個錯誤,我會在我的日誌文件中看到並且應用程序很大,所以我不能在這裏發佈相關部分。
第一條消息始終保持通暢,一段時間後纔會收到後續消息。即使我的應用程序停止接收後續消息,我也可以看到他們正在使用Wireshark。
任何想法我可能會發現發生了什麼?我應該尋找什麼?
更多日誌記錄,_much_ more日誌記錄。 –
@Joachim:謝謝,但我已經檢查所有套接字函數的所有返回值。沒有。任何非顯而易見的東西都應該記錄下來? –
_all_系統函數的返回值。也許添加跟蹤你自己的功能(即「現在進入函數x」/「現在離開函數x」,也可能記錄參數)。 –