Linux
•
•
By Sophia
Strace 神器:在沒有原始碼的情況下 Debug
系統呼叫追蹤
當程式莫名 Crash 或卡住,且 Log 沒有任何錯誤訊息時,strace 是最後的救星。它能記錄進程所有的 System Calls (如 open, read, write, connect)。
實戰場景:
- 設定檔讀取錯誤:
strace -e open -p <pid>可以看到程式到底嘗試讀取哪個路徑的設定檔,常發現是因為路徑權限或拼寫錯誤。 - 網路連線卡住:
strace -e connect,poll,select可以分析程式是否卡在 DNS 解析或 TCP 連線逾時。
雖然 strace 會拖慢執行速度,但在除錯階段其價值無可取代。