常見 SIGSEGV(非法記憶體訪問)、SIGBUS(記憶體對齊錯誤,SPARC 架構常見)、SIGFPE(浮點異常)。
# 查看現狀
coreadm
# 設定 per-process core 檔名模式
coreadm -i core.%f.%p
# 啟用 global core 並指定目錄
coreadm -g /globalcore/core.%f.%p -e global
# 完整保存所有段(含符號表)
coreadm -G all -I all
配置持久化於 /etc/coreadm.conf,由 SMF 服務 svc:/system/coreadm:default 管理。
gcore <PID> # 對存活進程產生 core
# 或使用 AppCrash 自動收集診斷資訊
-g,可定位到源碼行號。# pstack 範例
pstack core.2580
# dbx 範例
/opt/SUNWspro/bin/dbx tServer core
panic() 中斷所有進程。savecore 將 dump device 內容存至 /var/crash/<hostname>/,產生 unix.<N>(符號表)與 vmcore.<N>(資料)。# 設定專用 dump 裝置與儲存目錄
dumpadm -d /dump -s /savecore
# 查看配置
dumpadm
配置於 /etc/dumpadm.conf,SMF 服務 svc:/system/dumpadm:default。
reboot -d:重啟並強制產生。savecore -L:活體系統快照(需非 swap dump device)。Stop-A 進 OBP → sync。kmdb(Grub 加 -k),主控台 F1-A 斷入 → $<systemdump。/etc/system 加 set snooping=1,50 秒無 lbolt 更新觸發 panic。/var/adm/messages。strings vmcore.<N> 擷取 ASCII 線索。