原文地址:https://support.unity3d.com/hc/en-us/articles/207020786-How-can-I-debug-Unity-s-Cache-Server-
症状
- 我不知道怎样才能调试Cache Server。
- Cache Server运行在我的本地计算机上,使得它难以确定问题。
原因
- 多个客户端同时运行Cache Server,导致它无响应。
- 你需要调试Cache Server。
解决方案
Cache Server是一些JavaScript脚本的集合,用Node.js运行。有一个允许调试Node.js脚本的工具,名叫Node Inspector。想要使用这个工具调试Cache Server,需要按以下步骤操作:
- 安装Node.js:从这里获取Node.js最新版:https://nodejs.org/en/download 。一旦Node.js安装了,它应该已经加到了“/usr/bin”路径下。这将会添加一些用于调试的额外的工具。
- 安装Node Inspector。
npm install -g node-inspector
(在终端上运行这个命令)。
- Mac:万一你得到这样子开头的错误提示“This is most likely a problem with the v8-profiler package, not with npm itself.”,针对此的变通方案为使用这条命令:
sudo npm install -g node-inspector -unsafe-perm
- Windows:你的Node.js应用程序应该存储在 C:\Program Files\nodejs ,因此使用这样子的命令行:
cd C:\Program Files\nodejs
以及npm install -g node-inspector
- Mac:万一你得到这样子开头的错误提示“This is most likely a problem with the v8-profiler package, not with npm itself.”,针对此的变通方案为使用这条命令:
- 修改启动Node.js的脚本,改为启动“node-debug”。这个脚本可以在你存放Cache Server的文件夹里找到。在OS X系统上,这个脚本名为“RunOSX.command”,而在Linux上它的名字叫“RunLinux.sh”,在Windows上则叫作“RunWin.cmd”。(如下面的图所示)
- 替换Cache Server脚本(LegacyCacheServer.js和CacheServer.js)中的一个废弃的方法,“path.existsSync”改为“fs.existsSync”。
- 一旦根据你的操作系统平台执行对应脚本,就将会使用“node-debug”,它将会启动Google Chrome,并且允许你调试Cache Server的代码。(你需要先安装Google Chrome)。
- Windows:你需要做一些不同的操作。你需要在命令提示符里执行main.js脚本,就像这样子:“
node-debug C:...\CacheServer-5.3.0f4\CacheServer\main.js
”
- Windows:你需要做一些不同的操作。你需要在命令提示符里执行main.js脚本,就像这样子:“
Mac:
Windows:
Linux:
更多信息
http://docs.unity3d.com/Manual/CacheServer.html
https://github.com/node-inspector/node-inspector#quick-start
本文适用于 Unity 5.x 版本。