2013-08-20 82 views
0

我追逐一個奇怪的錯誤,我有一個線索,但我不知道它是什麼意思。RedHat 5 - pstack和gdb

我有一個程序使用在RH5工作站上運行的OpenGL和Motif。在兩臺機器上,當所有其他機器(其中五臺)出現時,程序需要5分鐘左右纔會出現,它會立即出現。所有七臺機器都加載相同並具有相同的硬件。

所以這裏是我的線索。如果我在gdb下的兩個「慢」機器上運行進程,或者在掛起時執行一個pstack,它會馬上啓動。我知道這肯定會告訴我一些重要的事情,但我無法弄清楚什麼。

任何想法?

編輯 - 爲了更清楚 - 紅帽企業Linux 5

+0

隨機猜測是'pstack'和'gdb'會產生一個信號(由於通過'ptrace'連接),這會中斷內核中的某種等待。 – Hasturkun

+0

嘗試在掛起進程時發出SIGABRT,以查看是否可以在轉儲核心時捕獲程序掛起的位置。 –

回答

0

的一個明顯的例子: http://en.wikipedia.org/wiki/Heisenbug

的Red Hat Linux 5是古老的。我不認爲你會期望得到任何好的幫助。

如果您碰巧錯誤地編寫了RH5,但確實是RHEL(紅帽企業Linux 5),請聯繫紅帽支持。他們可以幫助您調試您的問題。

至於調試,我不知道你有這麼老的發行版有什麼。但是您可以嘗試更改程序正在使用的某些組件,以幫助您瞭解問題的來源。例如X服務器(也許嘗試VNC)。或者嘗試交換機器的硬盤,看看它是硬件問題還是BIOS差異。