币安 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 教程分类。