背景
Windows本退休了,换了Mac上岗,使用习惯上还在适应中,之前使用的一款工具软件在最近一次开机后不能使用了,表现为:双击启动程序时,程序“无响应”。
分析问题
1、为啥突然就用不了?
常规思路,这种问题是系统环境或程序发生了什么变更导致。
想想近期系统无升级,程序在上一次运行时勾选了一个选项而已。遂重装了该工具程序,步骤如下:
Step1.在【应用程序】中删除程序
Step2.将程序拖放至【应用程序】中完成安装
再次启动程序,依然“无响应”。
2、程序“无响应”,是否从哪里可以获得程序的运行过程、运行状态信息?
凭着windows上【任务管理器】的使用经验,找到了Mac上的【活动监视器】。启动工具程序时,可以在【活动监视器】上观察到程序进程先运行了、然后很快就消失了。

通过搜索引擎,我找到了Mac上的【控制台】,这里了记录了所有用户程序和系统程序的运行过程日志,从这里很直观地观察到,程序先启动运行,然后程序进程被kill了,从信息中可以发现kill进程的命令与最近一次设置该程序的一个选项有关。

解决问题
经过前面2点的分析,可以初步确定导致工具程序不能运行的原因是:最近一次修改了程序的一个选项设置。但是重新安装该程序仍然不能解决问题,结合该程序的安装和卸载方式(“绿色”安装),断定程序的选项设置应该是还存储在磁盘上的某个位置。
想着工具软件是开源软件,虽然不熟悉Mac上应用程序开发,但还是本能地上GitHub 翻了源码,找到了和配置存储相关的信息:NSUserDefaults 。
通过搜索引擎了解到,NSUserDefaults 可以在多个位置被找到:
~/Library/Preferences/com.example.myapp.plist
~/Library/SyncedPreferences/com.example.myapp.plist
如果是“沙盒”模式,可以在如下位置找到
~/Library/Containers/com.example.myapp/Data/Library/Preferences/com.example.myapp.plist
~/Library/Containers/com.example.myapp/Data/Library/SyncedPreferences/com.example.myapp.plist
我删除了和工具程序相关的如下文件,然后启动程序,程序正常运行起来了。
~/Library/Preferences/com.example.myapp.plist
小结
此次使用了【活动监视器】和【控制台】两个工具,Mac上其它工具的使用得继续摸索,系统操作方式和技巧还得继续学习;
工具程序固然是容错处理上有点小缺陷,好在自己还能用工程师的思维解决掉;
将这个问题反馈给开发者,帮助其完善这个好用的工具软件。