2
有時當我在調試時,我得到這樣的消息。gdb中的SIG44是什麼?
Program received signal SIG44, Real-time event 44.
這是什麼意思?
謝謝。
編輯:
平臺是Linux
有時當我在調試時,我得到這樣的消息。gdb中的SIG44是什麼?
Program received signal SIG44, Real-time event 44.
這是什麼意思?
謝謝。
編輯:
平臺是Linux
的信號是由內核,以便通知已經發生系統中的某些種事件的處理髮送到進程的消息。在Linux上的常用信號是例如SIGINT(值2,鍵盤中斷)或SIGKILL(值9,殺死一個程序)。
當內核檢測到系統事件時(如被零除SIGFPE,值爲8)或當進程調用kill()函數明確指示內核向進程發送信號時收到信號(或到稱爲kill())的進程本身。
一個信號通常可以被過程捕獲以便做某件事。
所以要回答你的問題,代碼很有可能調用kill()函數,並在發生事件時向它發送一個值爲44的信號。既然你得到了這個信息,這意味着這個過程已經收到了信號,並且即將退出或者執行寫在代碼中的內容以防信號出現。
不同於標準信號,實時信號 沒有預定義的含義: 實時信號 的整個集合可用於應用程序定義的 目的。 (請注意,但是,該 LinuxThreads實現使用 前三實時信號。)
來源的報價here
哪個平臺? – 2010-11-18 15:04:17
SIG33 - SIG127都是實時錯誤。做「處理錯誤代碼」,不會從gdb那裏得到很多關於這些錯誤的信息。 – DumbCoder 2010-11-18 15:29:31