-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathdebugging.html
More file actions
188 lines (155 loc) · 17.2 KB
/
Copy pathdebugging.html
File metadata and controls
188 lines (155 loc) · 17.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
<!DOCTYPE html>
<html lang="zh-cn">
<head prefix="og: http://ogp.me/ns#">
<meta charset="utf-8">
<title>调试 | Screeps 中文文档</title>
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Canonical links -->
<link rel="canonical" href="http://screeps-cn.github.io/debugging.html">
<!-- Alternative links -->
<link rel="alternative" hreflang="en" href="http://screeps-cn.github.io/debugging.html">
<link rel="alternative" hreflang="zh-tw" href="http://screeps-cn.github.io/zh-tw/debugging.html">
<link rel="alternative" hreflang="zh-cn" href="http://screeps-cn.github.io/zh-cn/debugging.html">
<link rel="alternative" hreflang="ru" href="http://screeps-cn.github.io/ru/debugging.html">
<link rel="alternative" hreflang="ko" href="http://screeps-cn.github.io/ko/debugging.html">
<!-- Icon -->
<link rel="apple-touch-icon" sizes="57x57" href="/icon/apple-touch-icon-57x57.png">
<link rel="apple-touch-icon" sizes="114x114" href="/icon/apple-touch-icon-114x114.png">
<link rel="apple-touch-icon" sizes="72x72" href="/icon/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="144x144" href="/icon/apple-touch-icon-144x144.png">
<link rel="apple-touch-icon" sizes="60x60" href="/icon/apple-touch-icon-60x60.png">
<link rel="apple-touch-icon" sizes="120x120" href="/icon/apple-touch-icon-120x120.png">
<link rel="apple-touch-icon" sizes="76x76" href="/icon/apple-touch-icon-76x76.png">
<link rel="apple-touch-icon" sizes="152x152" href="/icon/apple-touch-icon-152x152.png">
<link rel="icon" type="image/png" href="/icon/favicon-196x196.png" sizes="196x196">
<link rel="icon" type="image/png" href="/icon/favicon-160x160.png" sizes="160x160">
<link rel="icon" type="image/png" href="/icon/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="/icon/favicon-16x16.png" sizes="16x16">
<link rel="icon" type="image/png" href="/icon/favicon-32x32.png" sizes="32x32">
<meta name="msapplication-TileColor" content="#2f83cd">
<meta name="msapplication-TileImage" content="/icon/mstile-144x144.png">
<!-- CSS -->
<!-- build:css build/css/navy.css -->
<link rel="stylesheet" href="/css/navy.css?1">
<link rel="stylesheet" href="/css/prism.css">
<!-- endbuild -->
<link href="https://fonts.googleapis.com/css?family=Lato:300,400,700" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css">
<!-- RSS -->
<link rel="alternate" href="/atom.xml" title="Screeps 中文文档">
<!-- Open Graph -->
<meta name="description" content="Javascript 源生的 console.log() 。 for(var i in Game.creeps) { console.log(Game.creeps[i]); }对于所以的动作指令,若被执行了,则返回值为 OK,如果无法被执行,则会返回相应的错误代码 ERR_* 。 var result = creep.attack(target); if(result != OK) {">
<meta property="og:type" content="website">
<meta property="og:title" content="调试">
<meta property="og:url" content="http://screeps-cn.github.io/debugging.html">
<meta property="og:site_name" content="Screeps 中文文档">
<meta property="og:description" content="Javascript 源生的 console.log() 。 for(var i in Game.creeps) { console.log(Game.creeps[i]); }对于所以的动作指令,若被执行了,则返回值为 OK,如果无法被执行,则会返回相应的错误代码 ERR_* 。 var result = creep.attack(target); if(result != OK) {">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="http://screeps-cn.github.io/img/chrome_2016-06-21_22-21-36.png">
<meta property="article:published_time" content="2026-06-06T14:25:30.849Z">
<meta property="article:modified_time" content="2026-06-06T14:25:30.849Z">
<meta property="article:author" content="Screeps">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="http://screeps-cn.github.io/img/chrome_2016-06-21_22-21-36.png">
<!-- Google Analytics -->
</head>
<body>
<div id="container">
<header id="header" class="wrapper">
<div id="header-inner" class="inner">
<h1 id="logo-wrap">
<a href="https://screeps.com" target="_blank" rel="noopener" id="logo">Screeps</a>
<a href="/index.html" id="logo-docs">docs</a>
</h1>
<a id="mobile-nav-toggle">
<span class="mobile-nav-toggle-bar"></span>
<span class="mobile-nav-toggle-bar"></span>
<span class="mobile-nav-toggle-bar"></span>
</a>
<div id="header-main"></div>
</div>
</header>
<div id="content-wrap">
<div id="content" class="wrapper">
<div id="content-inner">
<article class="article-container" itemscope itemtype="http://schema.org/Article">
<div class="article-inner">
<div class="article">
<div class="inner">
<header class="article-header">
<h1 class="article-title" itemprop="name" id="top">调试</h1>
<a href="https://github.com/screeps-cn/docs/edit/master/source/debugging.md" target="_blank" rel="noopener" class="article-edit-link" title="改进本文"><i class="fa fa-pencil"></i></a>
</header>
<div class="article-content" itemprop="articleBody">
<p>Javascript 源生的 <code>console.log()</code> 。</p>
<pre class="highlight undefined tab-undefined "><code><span class="token keyword">for</span><span class="token punctuation">(</span><span class="token keyword">var</span> i <span class="token keyword">in</span> Game<span class="token punctuation">.</span>creeps<span class="token punctuation">)</span> <span class="token punctuation">{</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>Game<span class="token punctuation">.</span>creeps<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span></code></pre><p>对于所以的动作指令,若被执行了,则返回值为 <code>OK</code>,如果无法被执行,则会返回相应的错误代码 <code>ERR_*</code> 。</p>
<pre class="highlight undefined tab-undefined "><code><span class="token keyword">var</span> result <span class="token operator">=</span> creep<span class="token punctuation">.</span><span class="token function">attack</span><span class="token punctuation">(</span>target<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">if</span><span class="token punctuation">(</span>result <span class="token operator">!=</span> OK<span class="token punctuation">)</span> <span class="token punctuation">{</span>
console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>creep <span class="token operator">+</span> <span class="token string">' failed to attack the target '</span> <span class="token operator">+</span> target <span class="token operator">+</span>
<span class="token string">' with the code: '</span> <span class="token operator">+</span> result<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span></code></pre><p>注意,一个看似合理的指令并不一定能被执行。(比如, creep 遇见了未被其代码声明的障碍)</p>
<p>玩家可用并行世界副本<a href="/ptr.html">公共测试领域</a>来测试其代码。</p>
<h2 id="在浏览器端调试" class="article-heading"><a href="#在浏览器端调试" class="headerlink" title="在浏览器端调试"></a>在浏览器端调试<a class="article-anchor" href="#在浏览器端调试" aria-hidden="true"></a></h2><p>当用浏览器玩此游戏时,所有控制台输出都会被转发到浏览器控制台。在 Simulation 模式下,玩家的代码由浏览器,所以玩家得以扩展,查看和遍历对象及其属性等。</p>
<p>在 Chrome 浏览器里,您可以使用 <code>debugger</code> Javascript 关键词来暂停执行并进行调试:</p>
<pre class="highlight undefined tab-undefined "><code><span class="token keyword">var</span> result <span class="token operator">=</span> creep<span class="token punctuation">.</span><span class="token function">attack</span><span class="token punctuation">(</span>target<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">if</span><span class="token punctuation">(</span>result <span class="token operator">!=</span> OK<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">debugger</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span></code></pre><h2 id="监测-Memory" class="article-heading"><a href="#监测-Memory" class="headerlink" title="监测 Memory"></a>监测 Memory<a class="article-anchor" href="#监测-Memory" aria-hidden="true"></a></h2><p>如果玩家想实时观察变量,可选择把它们写入 Memory 并将其加入监测器面板。监测器面板每 tick 会自动更新。</p>
<p><img src="img/chrome_2016-06-21_22-21-36.png" alt=""></p>
</div>
<footer class="article-footer">
<time class="article-footer-updated" datetime="2026-06-06T14:25:30.849Z" itemprop="dateModified">上次更新:6月 06, 2026</time>
<a href="/modules.html" class="article-footer-prev"><i class="fa fa-chevron-left"></i><span>模块</span></a><a href="/game-loop.html" class="article-footer-next"><span>游戏循环</span><i class="fa fa-chevron-right"></i></a>
</footer>
</div>
</div>
<aside id="article-toc" role="navigation">
<div id="article-toc-inner">
<strong class="sidebar-title">目录</strong>
<ol class="toc"><li class="toc-item toc-level-2"><a class="toc-link" href="#在浏览器端调试"><span class="toc-text">在浏览器端调试</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#监测-Memory"><span class="toc-text">监测 Memory</span></a></li></ol>
<a href="#" id="article-toc-top">回到顶部</a>
</div>
</aside>
</div>
</article>
<aside id="sidebar" role="navigation">
<div class="inner"><a href="/api/" class=api-link><span>API Reference</span><img src="/img/link-external.svg"></a><a href="/index.html" class="sidebar-link">总览</a><strong class="sidebar-title">游戏环境</strong><a href="/introduction.html" class="sidebar-link">简介</a><a href="/creeps.html" class="sidebar-link">Creeps</a><a href="/control.html" class="sidebar-link">控制</a><a href="/defense.html" class="sidebar-link">防御</a><a href="/respawn.html" class="sidebar-link">重生</a><a href="/start-areas.html" class="sidebar-link">初始区域</a><a href="/resources.html" class="sidebar-link">资源</a><a href="/market.html" class="sidebar-link">市场</a><a href="/invaders.html" class="sidebar-link">NPC 入侵者</a><a href="/power.html" class="sidebar-link">超能</a><strong class="sidebar-title">脚本</strong><a href="/scripting-basics.html" class="sidebar-link">脚本基础</a><a href="/global-objects.html" class="sidebar-link">全局对象</a><a href="/modules.html" class="sidebar-link">模块</a><a href="/debugging.html" class="sidebar-link current">调试</a><a href="/game-loop.html" class="sidebar-link">游戏循环</a><a href="/commit.html" class="sidebar-link">外部提交</a><a href="/simultaneous-actions.html" class="sidebar-link">同步操作</a><a href="/cpu-limit.html" class="sidebar-link">CPU 限制</a><strong class="sidebar-title">其他</strong><a href="/architecture.html" class="sidebar-link">服务器架构</a><a href="/ptr.html" class="sidebar-link">公开测试区域 (PTR)</a><a href="/third-party.html" class="sidebar-link">第三方工具</a><a href="/auth-tokens.html" class="sidebar-link">验证令牌</a><a href="/community-servers.html" class="sidebar-link">社区服务器</a><a href="/tos.html" class="sidebar-link">服务条款</a><a href="/privacy-policy.html" class="sidebar-link">隐私政策</a><strong class="sidebar-title">资源</strong><a href="http://blog.screeps.com" target="_blank" rel="noopener" class="sidebar-link">博客</a><a href="http://blog.screeps.com/categories/Changelogs/" target="_blank" rel="noopener" class="sidebar-link">修改日志</a><a href="http://chat.screeps.com" target="_blank" rel="noopener" class="sidebar-link">聊天室</a><a href="https://screeps.com/forum/" target="_blank" rel="noopener" class="sidebar-link">论坛</a><strong class="sidebar-title">贡献文章</strong><a href="/contributed/rules.html" class="sidebar-link">贡献规则</a><a href="/contributed/advanced_grunt.html" class="sidebar-link">高级 Grunt 使用</a><a href="/contributed/modifying-prototypes.html" class="sidebar-link">修改原型</a><a href="/contributed/caching-overview.html" class="sidebar-link">缓存概述</a><a href="/contributed/ps_ubuntu.html" class="sidebar-link">私有服务器 MongoDB</a></div>
</aside>
</div>
</div>
</div>
<footer id="footer" class="wrapper">
<div class="inner">
<div id="footer-copyright">
© 2026 <a href="https://screeps.com/" target="_blank">Screeps</a><br>
Documentation licensed under <a href="http://creativecommons.org/licenses/by/4.0/" target="_blank">CC BY 4.0</a>.
</div>
<div id="footer-links">
<a href="https://github.com/screeps-cn/docs" class="footer-link" target="_blank"><i class="fa fa-github-alt"></i></a>
</div>
</div>
</footer>
</div>
<div id="mobile-nav-dimmer"></div>
<nav id="mobile-nav">
<div id="mobile-nav-inner">
<a href="/api/" class=api-link><span>API Reference</span><img src="/img/link-external.svg"></a><a href="/index.html" class="mobile-nav-link">总览</a><strong class="mobile-nav-title">游戏环境</strong><a href="/introduction.html" class="mobile-nav-link">简介</a><a href="/creeps.html" class="mobile-nav-link">Creeps</a><a href="/control.html" class="mobile-nav-link">控制</a><a href="/defense.html" class="mobile-nav-link">防御</a><a href="/respawn.html" class="mobile-nav-link">重生</a><a href="/start-areas.html" class="mobile-nav-link">初始区域</a><a href="/resources.html" class="mobile-nav-link">资源</a><a href="/market.html" class="mobile-nav-link">市场</a><a href="/invaders.html" class="mobile-nav-link">NPC 入侵者</a><a href="/power.html" class="mobile-nav-link">超能</a><strong class="mobile-nav-title">脚本</strong><a href="/scripting-basics.html" class="mobile-nav-link">脚本基础</a><a href="/global-objects.html" class="mobile-nav-link">全局对象</a><a href="/modules.html" class="mobile-nav-link">模块</a><a href="/debugging.html" class="mobile-nav-link current">调试</a><a href="/game-loop.html" class="mobile-nav-link">游戏循环</a><a href="/commit.html" class="mobile-nav-link">外部提交</a><a href="/simultaneous-actions.html" class="mobile-nav-link">同步操作</a><a href="/cpu-limit.html" class="mobile-nav-link">CPU 限制</a><strong class="mobile-nav-title">其他</strong><a href="/architecture.html" class="mobile-nav-link">服务器架构</a><a href="/ptr.html" class="mobile-nav-link">公开测试区域 (PTR)</a><a href="/third-party.html" class="mobile-nav-link">第三方工具</a><a href="/auth-tokens.html" class="mobile-nav-link">验证令牌</a><a href="/community-servers.html" class="mobile-nav-link">社区服务器</a><a href="/tos.html" class="mobile-nav-link">服务条款</a><a href="/privacy-policy.html" class="mobile-nav-link">隐私政策</a><strong class="mobile-nav-title">资源</strong><a href="http://blog.screeps.com" target="_blank" rel="noopener" class="mobile-nav-link">博客</a><a href="http://blog.screeps.com/categories/Changelogs/" target="_blank" rel="noopener" class="mobile-nav-link">修改日志</a><a href="http://chat.screeps.com" target="_blank" rel="noopener" class="mobile-nav-link">聊天室</a><a href="https://screeps.com/forum/" target="_blank" rel="noopener" class="mobile-nav-link">论坛</a><strong class="mobile-nav-title">贡献文章</strong><a href="/contributed/rules.html" class="mobile-nav-link">贡献规则</a><a href="/contributed/advanced_grunt.html" class="mobile-nav-link">高级 Grunt 使用</a><a href="/contributed/modifying-prototypes.html" class="mobile-nav-link">修改原型</a><a href="/contributed/caching-overview.html" class="mobile-nav-link">缓存概述</a><a href="/contributed/ps_ubuntu.html" class="mobile-nav-link">私有服务器 MongoDB</a>
</div>
</nav>
<!-- Scripts -->
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<!-- build:js build/js/main.js -->
<script src="/js/lang_select.js"></script>
<script src="/js/scrollingelement.js"></script>
<script src="/js/toc.js"></script>
<script src="/js/mobile_nav.js"></script>
<script src="/js/custom.js"></script>
<!-- endbuild -->
<script src="https://cdn.jsdelivr.net/retinajs/1.3.0/retina.min.js" async></script>
<!-- Algolia -->
</body>
</html>