幣安 Mac 客戶端的日誌主要在三個位置:一是 ~/Library/Application Support/Binance/logs/ 存放應用執行日誌;二是 ~/Library/Logs/Binance/ 存放系統層日誌;三是 ~/Library/Logs/DiagnosticReports/ 放崩潰報告。用 Console.app 或 log stream --predicate 'subsystem == "com.binance.app"' 可以實時檢視。排錯時還需要檢查網路日誌和 WebSocket 狀態。客戶端下載到 幣安官網;手機端同樣有日誌,可點 幣安官方APP 下載對照。本文把日誌目錄、Console 用法、典型錯誤全講透。
一、日誌到底在哪
Mac 上應用日誌遵循固定目錄結構:
| 路徑 | 用途 | 可讀性 |
|---|---|---|
~/Library/Application Support/Binance/logs/ |
應用業務日誌 | 高 |
~/Library/Logs/Binance/ |
系統整合日誌 | 中 |
~/Library/Caches/Binance/Cache/ |
網路快取 | 低 |
~/Library/Logs/DiagnosticReports/ |
崩潰報告 | 中 |
/var/log/system.log |
系統日誌(舊) | 中 |
| Console.app 實時流 | 所有 unified log | 高 |
快速開啟方法:訪達 → Command + Shift + G → 貼上路徑 → 回車。或終端:
open ~/Library/Application\ Support/Binance/logs/
二、Application Support 下的業務日誌
1. 日誌分類
~/Library/Application Support/Binance/logs/
├── main.log # 主程序
├── renderer.log # 渲染程序
├── network.log # 網路請求
├── websocket.log # WebSocket 行情推送
├── trading.log # 交易操作記錄
├── error.log # 錯誤彙總
└── archive/ # 歷史日誌(7 天輪轉)
2. 實時檢視
tail -f ~/Library/Application\ Support/Binance/logs/main.log
或者所有日誌混合:
tail -f ~/Library/Application\ Support/Binance/logs/*.log
3. 按時間過濾
grep "2026-04-15" ~/Library/Application\ Support/Binance/logs/network.log
4. 按關鍵字
grep -i "error\|fail\|timeout" ~/Library/Application\ Support/Binance/logs/*.log
三、Console.app 控制檯
1. 開啟
聚焦搜尋 Console.app,或應用程式 → 實用工具 → 控制檯。
2. 篩選 Binance 日誌
左側欄點「你的裝置名」→ 頂部搜尋框輸入 Binance → 回車。
3. 儲存當前日誌
選單欄 檔案 → 匯出 → 儲存為 .logarchive 檔案,發給技術支援時附帶。
4. 檢視崩潰報告
左側欄 → 崩潰報告:
- 列出所有應用崩潰記錄;
- 點選某條檢視完整棧回溯;
- 右鍵 → 在訪達中顯示 → 跳到
.crash檔案位置。
四、log 命令(推薦給熟練使用者)
macOS 自帶強大的 log 命令工具。
1. 實時流
log stream --predicate 'subsystem CONTAINS "binance"' --style compact
2. 最近 1 小時日誌
log show --predicate 'subsystem CONTAINS "binance"' --last 1h
3. 按程序名過濾
log show --predicate 'process == "Binance"' --last 30m
4. 匯出為檔案
log show --predicate 'process == "Binance"' --last 4h > ~/binance-debug.log
5. 篩選錯誤級別
log show --predicate 'process == "Binance" AND messageType == "error"' --last 24h
五、崩潰報告詳解
1. 路徑
~/Library/Logs/DiagnosticReports/Binance-*.ips
Sonoma 起改為 .ips 格式(過去是 .crash),本質是 JSON。
2. 檢視工具
- Console.app 自動解析;
- 文字編輯器直接開啟;
- 命令列:
ls -lt ~/Library/Logs/DiagnosticReports/Binance-* | head -5
cat ~/Library/Logs/DiagnosticReports/Binance-2026-04-15-*.ips | jq .
3. 關鍵欄位
| 欄位 | 含義 |
|---|---|
cpuType |
崩潰時的 CPU 架構(arm64/x86_64) |
osVersion |
macOS 版本號 |
bundleInfo.CFBundleShortVersionString |
Binance 版本 |
exception.type |
異常型別(EXC_BAD_ACCESS / SIGABRT) |
threads |
崩潰時所有執行緒棧 |
4. 常見崩潰原因
- EXC_BAD_ACCESS:訪問空指標,多見於更新後舊資料殘留;
- SIGABRT:主動終止,通常是 Electron 渲染程序卡死;
- EXC_CRASH:API 返回值異常導致;
- 記憶體壓力崩潰:
__vm_deallocate堆疊。
六、典型錯誤對照表
根據日誌中的關鍵字定位問題:
| 日誌關鍵字 | 問題 | 解決 |
|---|---|---|
ECONNREFUSED |
連線被拒絕 | 檢查代理/防火牆 |
ETIMEDOUT |
連線超時 | 換 DNS 或代理 |
certificate has expired |
證書過期 | 更新系統時間 |
Invalid API key |
API 金鑰錯誤 | 重新生成 |
timestamp for this request is outside |
時間不同步 | NTP 同步時間 |
WebSocket closed: 1006 |
異常關閉 | 檢查網路穩定性 |
Keychain access denied |
鑰匙串許可權拒絕 | 重置鑰匙串許可權 |
QuotaExceededError |
本地儲存滿 | 清理快取 |
七、清理日誌與快取
1. 清理業務日誌
rm -rf ~/Library/Application\ Support/Binance/logs/archive/
2. 清理快取
rm -rf ~/Library/Caches/Binance/
3. 清理崩潰報告
rm ~/Library/Logs/DiagnosticReports/Binance-*
4. 重置客戶端
徹底重置:
killall Binance
rm -rf ~/Library/Application\ Support/Binance/
rm -rf ~/Library/Preferences/com.binance.app.plist
rm -rf ~/Library/Caches/Binance/
下次啟動等同全新安裝(需要重新掃碼登入)。
八、開啟客戶端 Debug 模式
1. 啟動引數
終端用引數啟動:
/Applications/Binance.app/Contents/MacOS/Binance --debug --verbose
2. 環境變數
export BINANCE_DEBUG=1
export ELECTRON_ENABLE_LOGGING=1
open /Applications/Binance.app
3. Electron DevTools
按 Command + Option + I 可能開啟 DevTools(部分版本支援),可以看 Network、Console 等類似瀏覽器除錯。
九、提交 bug 報告時需要什麼
給幣安官方反饋 bug 時附帶:
- macOS 版本:
sw_vers; - Binance 版本:客戶端設定 → 關於;
- 崩潰前 1 小時日誌(匯出為 logarchive);
.ips崩潰報告;- 復現步驟與時間戳;
- CPU 架構:
uname -m。
可以把這些一次性打包:
mkdir ~/binance-debug-report
cp -r ~/Library/Application\ Support/Binance/logs ~/binance-debug-report/
cp ~/Library/Logs/DiagnosticReports/Binance-*.ips ~/binance-debug-report/
sw_vers > ~/binance-debug-report/system.txt
uname -a >> ~/binance-debug-report/system.txt
tar -czf ~/binance-debug.tar.gz -C ~ binance-debug-report
把生成的 binance-debug.tar.gz 傳送給技術支援。
十、網路層抓包
更深入的排錯需要抓包看請求:
1. Charles Proxy
- 安裝 Charles(需配置 SSL 證書);
- Mac 系統代理設為 Charles(127.0.0.1:8888);
- 啟動 Binance → 觀察請求;
- 過濾
binance.com域名。
2. Wireshark
brew install --cask wireshark
抓整張網絡卡的流量,適合分析 TCP 層問題(如 RST、握手失敗)。
3. mitmproxy(命令列)
brew install mitmproxy
mitmproxy --mode transparent --listen-port 8080
輕量級抓包。
常見問題 FAQ
Q1: 日誌檔案越來越大,怎麼自動清理?
A: 客戶端內建 7 天輪轉,超過自動刪除。想更激進可以寫 crontab:
0 2 * * * find ~/Library/Application\ Support/Binance/logs -mtime +3 -delete
每天凌晨 2 點清理 3 天前的日誌。
Q2: 為什麼 Console.app 看不到任何 Binance 日誌?
A: 搜尋框關鍵字需要寫對 subsystem,試試 com.binance 或直接輸入 Binance;另外需要客戶端實際在執行才有日誌輸出。
Q3: 日誌裡出現大量 EACCES 許可權錯誤?
A: 可能是客戶端裝在 /Applications/(所有使用者可見)但日誌目錄沒有寫許可權。處理:
sudo chown -R $(whoami) ~/Library/Application\ Support/Binance
Q4: .ips 崩潰報告看不懂怎麼辦?
A: 把檔案發給幣安官方技術支援,他們有符號表可以還原出可讀的函式名。自己檢視主要是拿時間戳和異常型別,詳細的堆疊需要專業工具。
Q5: 日誌裡有我的賬號資訊洩露嗎?
A: 幣安客戶端日誌會記錄部分 API 響應(含賬號 ID、資產),但不會記錄密碼與 2FA。分享日誌前最好用 sed 's/account_id=[0-9]*/account_id=***/g' 脫敏。
更多排錯技巧到 分類導航 看 Mac 教程分類。