使用 lldb 分析 Dotnet 核心傾印檔案
查詢服務資訊
使用 journalctl 查詢服務 Log
| 1 | journalctl -r --identifier=[服務的identifier] --since "2 minute ago" | 
取得系統產生的傾印檔案
安裝 apport
| 1 | sudo apt install apport | 
進入目錄 /var/crash 搜尋核心傾印檔案,之後使用 apport 解壓縮
| 1 | apport-unpack [核心傾印檔案].crash [解壓縮目錄] | 
使用 ProcDump 產生傾印檔案
安裝 ProcDump
| 1 | sudo apt install procdump | 
產生傾印檔案至服務工作目錄
| 1 | sudo procdump [服務PID] | 
當目標進程 CPU 或記憶體使用量達到特定臨界值或低於限制值時
| 1 | sudo procdump -c [CPU使用率] -m [記憶體使用MB數] [服務PID] | 
當目標進程收到特定訊號時
| 1 | sudo procdump -sig [Linux 信號] [服務PID] | 
安裝相關 Dotnet 工具加強 lldb 偵錯
安裝 dotnet-symbol 導出傾印檔案的符號
| 1 | dotnet tool install -g dotnet-symbol | 
導出傾印檔案的符號
| 1 | dotnet-symbol ~/dumps/dotnet/CoreDump -o ~/dumps/symbols --host-only | 
安裝 SOS 擴充偵錯工具功能
| 1 | dotnet tool install -g dotnet-sos | 
使用 lldb 偵錯
安裝 lldb
| 1 | sudo apt-get install lldb | 
使用 lldb 分析核心傾印檔案
| 1 | lldb --core ~/dumps/dotnet/CoreDump | 
在 lldb 中載入導入傾印檔案的符號
| 1 | setsymbolserver -directory ~/dumps/symbols | 
在 lldb 中常用命令
| 1 | 語法資訊: help |