在测试终端APP的时候,有的时候会遇到显示异常的缺陷,复现缺陷又找不到规律,可以通过查询日志的形式进行定位。运行终端APP的系统和形式有比较多,比如移动端Android,iOS,桌面端APP(Windows,macOS,Linux),不同的系统查询日志的形式不一样。
对于移动应用(Android/iOS)的情况,可能需要通过开发工具或者设备日志来查看。比如安卓可以用Logcat,iOS可以用Xcode的控制台。
如果是桌面或服务器端的终端应用出现异常,错误日志的位置可能因系统而异。在Linux上,常见的日志位置是/var/log目录下的各种日志文件,比如syslog、messages,或者应用特定的日志。
一、移动端APP(Android/iOS)
1.1Android 设备
通过开发工具查看日志:
开启开发者模式(设置 → 关于手机 → 多次点击“版本号”)。
使用 adb logcat 命令(需安装 Android SDK):
adb logcat | grep "你的应用包名"
过滤关键日志:如 adb logcat *:E 查看所有错误(Error级别)。
应用内日志:
部分应用提供“导出日志”功能(通常在设置或反馈页面)。
1.2 iOS 设备
通过Xcode查看:
连接设备到Mac,打开Xcode → Window → Devices and Simulators。
选择设备,点击 Open Console 查看实时日志。
通过系统日志:
设置 → 隐私与安全性 → 分析与改进 → 分析数据 → 查找以应用名称开头的日志文件。
二、桌面/服务端终端应用(Linux/macOS/Windows)
2.1查看系统日志
Linux:
# 通用系统日志cat/var/log/syslog# Ubuntu/Debiancat/var/log/messages# CentOS/RHEL# 使用 journalctl(systemd系统)journalctl -u 服务名.service -b --no-pager# 查看某个服务的日志journalctl -p err -b# 查看本次启动后的错误日志# 实时追踪日志tail-f /var/log/你的应用日志文件.log
macOS:
控制台(Console)应用
打开 应用程序 → 实用工具 → 控制台。
在左侧选择设备 → 搜索栏输入应用名称或进程名(如 Electron、YourApp)。
筛选 错误(Error)或 故障(Fault)类型日志。
终端查看日志
查看系统日志:
logshow --predicate'eventMessage contains "应用名"'--last 1h# 最近1小时含关键字的日志tail-f /var/log/system.log# 实时跟踪系统日志
若应用通过命令行启动,直接重定向输出到文件:
/Applications/YourApp.app/Contents/MacOS/YourApp 2>&1 > ~/Desktop/app_debug.log
应用沙盒日志
沙盒应用的日志通常位于:
plaintext
~/Library/Containers/<应用BundleID>/Data/Library/Logs/
~/Library/Logs/<应用名>/
Windows:
打开 事件查看器(Event Viewer) → Windows日志 → 应用程序/系统 → 筛选错误事件。
系统事件查看器
按 Win + R → 输入 eventvwr.msc → 打开 事件查看器。
定位到 Windows 日志 → 应用程序,筛选 错误 或 警告 级别事件。
关键操作:
右键日志 → 筛选当前日志 → 事件来源选择你的应用名(若有记录)。
导出日志:右键日志 → 另存为 .evtx 文件供分析。
应用自身日志
默认路径示例:
plaintext
C:\Users\<用户名>\AppData\Local\<应用名>\logs\error.logC:\Program Files\<应用名>\logs\app.log
若路径不明,尝试在应用启动时通过命令行指定日志输出:
cmd
your_app.exe --log-file="C:\logs\debug.log"
使用 PowerShell 抓取实时日志
powershell
Get-Content-Path"C:\path\to\app.log"-Wait# 实时监控日志更新Get-EventLog-LogNameApplication-EntryTypeError-Newest20# 查看最新20条系统错误
2.2应用自身日志
检查应用配置文件中定义的日志路径(如 log4j、logback 等配置)。
启动时指定日志输出:
./your_app --log-file=app.log 2>&1 |teedebug.log
2.3.命令行工具
过滤关键信息:
grep-i"error"/path/to/logfile.log# 查找错误关键字grep-C5"exception"app.log# 显示异常上下文5行
调试运行:
strace -f ./your_app# Linux跟踪系统调用dtruss ./your_app# macOS跟踪系统调用
运用上述的方法,通常可以定位到终端APP异常的根本原因,若问题仍无法解决,建议将关键日志提供给开发者或技术支持团队。
阅读后若有收获,不吝关注,分享等操作!