[問題] linux socket程式會造成死當

作者: neko0624 (最愛妹妹的肥宅葛格<3)   2014-05-16 10:18:26
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Linux Redhat + GCC
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
都是常見的socket函式
問題(Question):
這問題從去年困擾到現在
不過過去比較忙沒專心處理 現在要解決這個問題
問題就是這個程式運作下去後 會無預期的死當
死當的情況是螢幕畫面停留在最後一刻 不再更新
滑鼠游標無反映 用別台電腦ping不到這台死當的host
可能跟我用sudo有關
希望能找出為什麼讓電腦死當的原因(linux會死當讓我覺得很奇怪)
我寫的這個linux程式 用途是做為中繼站轉送資料 像這樣:
A
作者: kingofsdtw (不能閒下來!!)   2014-05-16 13:07:00
最笨的方法,插入 trace code @@?
作者: neko0624 (最愛妹妹的肥宅葛格<3)   2014-05-16 13:16:00
樓上大大能不能解釋更清楚一點? 這樣聽不太懂
作者: LiloHuang (十年一刻)   2014-05-16 16:03:00
他的意思大概是多印一些 debug log 來夾擊出問題點吧也許你的 select 在某些情況會造成 busy loop 而沒處理當然這樣就會死當也很怪,建議改用 epoll_wait 效能較佳
作者: asoedarren (天真歲月陽仲壽)   2014-05-17 00:11:00
有沒有ignore Sigpipe?
作者: sunneo (艾斯寇德)   2014-05-17 05:50:00
真的跟這程式有關嗎o_O 我開synergy也會死當,是顯卡過熱
作者: neko0624 (最愛妹妹的肥宅葛格<3)   2014-05-19 12:48:00
re:asoedarren send函式有用MSG_NOSIGNAL 目的就是ignoreignore SIGPIPE, 大大認為是這個的原因嗎
作者: pcjustin (駱駝)   2014-05-19 20:09:00
如果願意提供程式碼會更好debug

Links booklink

Contact Us: admin [ a t ] ucptt.com