- 启动调试会话
- 添加和删除断点
- 设置条件断点
- 在“断点”视图中管理断点
- 在“调试”视图中管理调试会话
- 使用“控制台”视图
- 在“变量”视图中管理变量
- 更改变量的值
- 查找变量
- “变量”视图中表示变量的图标
- 使用“表达式”视图
- 表达式示例
- 表达式求值的局限性
- 使用观察点
- 使用“运行至行”
调试应用程序的过程与运行应用程序的过程类似。但是,进行调试时,可以控制应用程序何时停止于代码中的特定点、是否要监视重要变量,并且可以测试对代码进行的修正。运行和调试都使用配置来控制应用程序的启动方式。调试应用程序时,将运行应用程序文件的调试版本。
有关 Flash 调试透视图中可用的调试工具的概述,请参阅 Flash 调试透视图。
在某些情况下,系统会提示您查看 Eclipse 日志文件。有关更多信息,请参阅日志文件中的 Eclipse 环境错误。
启动调试会话
要开始调试会话,请在 Flash 调试透视图中运行应用程序启动配置。
调试应用程序
在 Flex 包资源管理器中,选择要调试的项目。
在主工作台工具栏中选择“调试”按钮。
注: “调试”按钮包含两个元素:主操作按钮和一个下拉列表,后者显示项目中可以运行和调试的应用程序文件。如果单击主操作按钮,将调试项目的默认应用程序文件。也可以单击下拉列表,并选择项目中的任何应用程序文件来进行调试。还可以访问启动配置对话框,并通过选择“调试”命令创建或编辑启动配置。
如果项目尚未构建,Adobe® Flash® Builder™ 将构建并在调试模式下运行项目。
应用程序将出现在默认 Web 浏览器或独立 Flash Player 中,随后您可以使用 Flash Builder 调试器与它交互。
到达断点后,将在工作台中激活 Flash 调试透视图。
在插件配置中启动调试会话
在 Flash Builder 的插件配置中,“调试”命令的工作方式稍有不同。在此配置中,它不运行选定的项目,而是调试最近一次启动的配置。您也可以从最近启动的配置列表中进行选择。
添加和删除断点
可通过断点暂停应用程序的执行,以便检查代码并使用 Flash Builder 调试工具尝试修正错误。调试应用程序时,可在代码编辑器中添加断点,然后在“断点”视图中管理断点。
可以在可执行代码行中添加断点。调试器仅在包含以下内容的代码行中设置的断点处停止:
包含 ActionScript 事件处理函数的 MXML 标签,如 <mx:Button click="dofunction()" ...>
ActionScript 行,如包含在 <mx:Script> 标签或 ActionScript 文件中的 ActionScript 行
ActionScript 文件中的任何可执行代码行
可在编写代码时设置断点,也可在调试时设置断点。
在代码编辑器中设置断点
打开一个包含 ActionScript 代码的项目文件。
找到要设置断点的代码行,然后双击标记栏以添加断点。
标记栏靠近代码编辑器的左边缘。
系统会将断点标记添加到标记栏和 Flash 调试透视图的“断点”视图中的断点列表中。
当调试器遇到断点时,将暂停应用程序,显示 Flash 调试透视图,并用断点标记代码行。在代码编辑器中将加亮相应代码行。您随后可使用调试命令与代码交互。(请参阅在“调试”视图中管理调试会话。)
在代码编辑器中删除断点
在标记栏中,双击现有断点。
断点即从标记栏和 Flash 调试透视图的“断点”视图中删除。
可以在“断点”视图中管理断点。可以删除列表中的一个或全部断点,或禁用断点以后再重新启用(请参阅在“断点”视图中管理断点)。
设置条件断点
可以为断点指定条件,以在满足特定条件时停止执行调试器。设置条件断点时,指定一个要在调试会话期间求值的 ActionScript 表达式。配置条件断点,使调试器在下列任一条件下终止执行:
表达式计算结果为 true。
表达式的值发生更改。
达到指定的命中计数。
设置条件断点
从断点的上下文菜单中,选择“断点属性”。
在“断点属性”对话框中,指定下列任一选项:
启用
在启用或禁用断点间切换。
命中计数
选择“命中计数”可启用断点计数器。为“命中计数”指定一个数字。
如果同时指定了“命中计数”和“启用条件”,则“命中计数”是满足指定条件(计算结果为 true 或条件的值发生更改)的次数。
如果仅指定“命中计数”,则“命中计数”是到达断点的次数。
启用条件
选择“启用条件”并输入要求值的 ActionScript 表达式。有关求值运算支持的表达式类型的信息,请参阅表达式示例。
注: Flash Builder 将检查表达式的语法并将语法错误通知给您。如果表达式中包含赋值运算符,Flash Builder 将显示警告。
暂停发生条件:
指定终止执行的条件:条件表达式求值结果为 true,或表达式的值发生更改时。
在“断点”视图中管理断点
在调试会话期间,可在“断点”视图中管理断点。可以删除、禁用、启用或跳过断点。
“断点”视图工具栏中提供了下列命令(从左到右显示):
按钮/命令
说明
删除选择的断点
删除所选断点。
删除所有断点
删除所有断点。
显示所选目标支持的断点
显示适用于所选调试目标的断点。
转至文件以获取断点
在代码编辑器中打开包含断点的文件(如果尚未打开)并加亮设置了断点的代码行。也可以直接双击断点,以在代码编辑器中显示此断点。
跳过所有断点
跳过所有断点。
全部展开
展开全部断点。
全部折叠
折叠全部断点。
与“调试”视图链接
链接到“调试”视图。
在“断点”视图中删除断点
可在“断点”视图中通过断点工具栏删除一个、几个或所有断点。
在断点列表中选择一个或多个断点,然后单击“删除选择的断点”。
也可以通过一次操作删除“断点”视图中的所有断点。
从“断点”视图中删除所有断点
在“断点”视图中,单击“删除所有断点”。
在“调试”视图中管理调试会话
“调试”视图是 Flash 调试透视图的控制中心。使用它可以控制应用程序的执行,暂停、继续执行或终止应用程序,或者单步跳入或单步跳过代码。
“调试”视图提供下列调试命令,这些命令位于“调试”视图的工具栏中(从左到右显示):
按钮/命令
说明
删除所有终止的启动
清除所有已终止的调试会话。
继续
继续执行已暂停的应用程序。
暂停
暂停应用程序以便检查代码、单步跳入代码等。
终止
终止调试会话。
断开连接
在进行远程调试时断开调试器的连接。
单步跳入
进入调用的函数并在该函数的第一行停止。
单步跳过
执行函数的当前行,然后在该函数的下一行停止。
跳出
继续执行,直到当前函数已返回到其调用者。
拖放至帧
Flash Builder 中不支持此命令。
使用单步执行过滤器
Flash Builder 中不支持此命令。
使用“控制台”视图
“控制台”视图显示 ActionScript 代码中放置的跟踪语句的输出以及来自调试器自身的反馈(状态、警告、错误等)。
“控制台”视图提供下列命令,这些命令位于“控制台”视图的工具栏中(从左到右显示):
按钮/命令
说明
终止
终止调试会话。
删除启动
清除所有已启动的调试会话。
删除所有终止的启动
清除所有已终止的调试会话。
清除控制台
清除“控制台”视图中的所有内容。
滚动锁定
防止“控制台”视图滚动。
标准输出发生更改时显示控制台
写入到标准输出中时显示控制台
标准错误发生更改时显示控制台
写入到标准错误中时显示控制台
锁定控制台
防止在选择其它进程时控制台刷新其内容。
显示选择的控制台
显示选择的控制台
打开控制台
打开新控制台并显示弹出菜单,以选择其它控制台视图。
在“变量”视图中管理变量
“变量”视图显示当前所选堆栈帧在“调试”视图中定义的变量。简单变量(名称和值)显示在同一行上。随变量一起显示的图标提供有关该变量类型的可视提示。
复杂变量可以展开以显示其成员。可使用“变量”视图观察变量(通过将变量添加到“表达式”视图),也可以在调试会话期间使用“变量”视图修改变量值。还可以在“变量”视图中设置观察点,如使用观察点中所述。
所有超类成员都组合在一个单独的树节点中;默认情况下仅显示当前类的成员。这将有助于减少“变量”视图中一次显示过多变量的情况。
“变量”视图提供下列操作命令,这些命令位于“变量”视图工具栏中(从左到右显示):
命令
说明
显示类型名
显示变量的类型名称。
显示逻辑结构
Flash Builder 中不支持此命令。
全部折叠
折叠“变量”视图。
更改变量的值
选择要修改的变量。
右键单击(在 Macintosh 中为按住 Control 键并单击)以显示上下文菜单,然后选择“更改值”。
输入新值,然后单击“确定”。
此时变量将包含新值。
修改过的变量显示为红色。
查找变量
要在“变量”视图中查找变量或变量成员,请选择“变量”视图,然后输入要查找的变量名称。也可以使用通配符 (*) 搜索出现在变量名称中任意位置的词(例如,“*color”)。
“变量”视图中表示变量的图标
“变量”视图使用图标和覆盖为正在显示的变量类型提供可视提示。有关图标及其含义的列表,请参阅表示语言元素的图标。
“变量”视图
使用“表达式”视图
可使用“表达式”视图观察在“变量”视图中选择的变量,并在调试应用程序时添加观察表达式并对其求值。
调试时可以检查并修改所选的要观察的变量的值。还可以添加观察表达式,即要在调试暂停时对其求值的代码表达式。在您单步跳入函数时有些变量可能超出了作用域,因此不会显示在视图中,观察表达式对观察这些变量非常有用。
“表达式”视图提供下列命令,这些命令位于“表达式”视图工具栏中(从左到右显示):
命令
说明
显示类型名
显示“表达式”视图中的项的对象类型。
显示逻辑结构
Flash Builder 中不支持此命令。
全部折叠
折叠视图中的所有表达式。
删除选择的表达式
删除所选变量或观察表达式。
删除所有表达式
删除“表达式”视图中的所有变量和观察表达式。
您还可以在源代码编辑器中将鼠标指针悬停在表达式或变量上,以工具提示的方式查看它们的值。可以右键单击,然后在菜单中选择“观察”,将表达式添加到“表达式”视图。
表达式示例
Flash Builder 调试器支持多种简单表达式和复杂表达式。下表列出了可在调试会话期间对其求值的表达式示例。此列表并未涵盖所有支持的表达式,它仅为可执行特定操作的表达式样例。
支持的表达式示例 表达式
说明
myString.length
返回字符串的长度。
myString.indexOf(‘@’)
跟踪“@”字符的索引。
"constant string".charAt(0)
跟踪字符串中特定位置处的字符。支持字符串常量。
employees.employee.@name
employees 是 XML 变量。此类表达式用于调试 E4X 应用程序。
x == null
代表表达式中的值的保留字。
user1 === user2
支持大部分 ActionScript 运算符。
MyClass.myStaticFunc()
被解析为类的函数。
this.myMemberFunc()
使用关键字 this 解析的函数。
String.fromCharCode(33)
字符串实际上是函数,不是类,而 String.fromCharCode 实际上是该函数的动态成员。
myStaticFunc()
仅当 myStaticFunc 在当前作用域链中可见时才可对其求值。
myMemberFunc()
仅当 myMemberFunc 在当前作用域链中可见时才可对其求值。
Math.max(1,2,3)
支持数学函数。
mystring.search(/myregex/i)
支持正则表达式。
["my", "literal", "array"]
创建数组。
new MyClass()
实例化类。
"string" + 3
正确处理字符串加整数。
x >>> 2
支持逻辑移位运算。
3.5 + 2
正确执行算术运算。
表达式求值的局限性
表达式求值有下列局限性。
不支持命名空间。
不支持嵌入对象。
不支持关键字 super。
不支持完全限定的类名称。
例如,无法对 mx.controls.Button 求值。
可以引用非限定类名称。例如,可以指定引用 mx.controls.Button 的 Button。
如果类名不明确(不同包中的两个类名称相同),则无法控制将对哪个类求值。但是,您可以指定:
getDefinitionByName("mx.controls.Button")可以对大多数 E4X 表达式求值,但不支持 E4X 过滤器表达式。
例如,无法对 myxml.(@id=='3')) 求值。
无法调用定义为变量的函数。
使用观察点
调试应用程序时,可以在变量的特定实例上设置观察点,以在观察的变量值发生更改时终止执行。由于观察点是针对变量的特定实例设置的,因此无法在代码编辑器中设置观察点。您可以在调试会话期间,在“变量”视图中设置观察点。
设置观察点时,须牢记下列几点:
调试会话结束时,将删除所有观察点。
无法在 getter 上设置观察点,但可以在 getter 的字段上设置观察点。
例如,无法在 width 上设置观察点,但可以在 _width 上设置观察点。
无法在局部变量上设置观察点,但可以在局部变量的成员上设置观察点,如以下代码片段所示。
public class MyClass
{
// These are fields of a class, so you can set a watchpoint on
// 'memberInt', and on 'memberButton', and on 'memberButton._width':
private var memberInt:int = 0;
private var memberButton:Button = new Button();
public function myFunction():void {
// You CANNOT set a watchpoint on 'i', because it is local:
var i:int = 0;
// You CANNOT set a watchpoint on 'someButton', because it is local;
// but you CAN set a watchpoint on 'someButton._width':
var someButton:Button = new Button();
...
}当对象实例的原始值更改时,因为存在观察点而终止执行。
这不同于在变量值发生更改时,在条件断点中使用表达式来终止执行的情况。
设置观察点
在调试会话中,可通过以下两种方式设置观察点:
在“变量”视图中,打开变量的上下文菜单,然后选择“切换观察点”。
在 Flash Builder 的“运行”菜单中选择“添加观察点”。
在“添加观察点”对话框中选择要观察的变量。
“变量”视图上将显示一个“铅笔”图标,表示已在该变量上设置了观察点。
注: 如果尝试在 getter 上设置观察点,则 Flash Builder 会打开一个对话框,为观察点建议一个有效变量。如果删除建议的变量,对话框将列出该对象的所有有效变量。
使用“运行至行”
Flash Builder 提供了“运行至行”命令,用于在调试会话期间退出循环。
调试时,您可能发现代码正在执行一个重复了多次的循环。要退出此循环,请使用“运行”菜单中的“运行至行”命令。
分享到:
相关推荐
关于flash builder4无法调试、会话超时的解决方法,网上有很多的说法,但没有一个统一明确的结论,很多人都还不知道flash builder4会话超时、无法调试的解决办法,希望可以为困扰多时的你排忧解难吧。
FlashBuilder_4_7_LS10_win64.zip;FlashBuilder_4_7_LS10_win64.z01;FlashBuilder_4_7_LS10_win64.z02;FlashBuilder_4_7_LS10_win64.z03;FlashBuilder_4_7_LS10_win64.z04;FlashBuilder_4_7_LS10_win64.z05;Flash...
第二章 Flash Builder 4 界面 2.1 主界面 2.2 主菜单 2.3 工具条 2.4 主要窗口 ·第三章 Flash Builder 4 新特性 3.1 Package explorer 3.2 悬停时的ASDOC提示 3.3 Getter & Setter 3.4 自动生成...
FlashBuilder_4_7_LS10_win64.zip;FlashBuilder_4_7_LS10_win64.z01;FlashBuilder_4_7_LS10_win64.z02;FlashBuilder_4_7_LS10_win64.z03;FlashBuilder_4_7_LS10_win64.z04;FlashBuilder_4_7_LS10_win64.z05;Flash...
FlashBuilder_4_7_LS10_win64.zip;FlashBuilder_4_7_LS10_win64.z01;FlashBuilder_4_7_LS10_win64.z02;FlashBuilder_4_7_LS10_win64.z03;FlashBuilder_4_7_LS10_win64.z04;FlashBuilder_4_7_LS10_win64.z05;Flash...
FlashBuilder4使用帮助,详细介绍了FlashBuilder4
Flash Builder 4的快捷方式和调试技巧.
第 4 章: 在 Flash Builder 中使用项目 在 Flash Builder 中创建项目 导出和导入项目 构建项目 运行和调试应用程序 导出应用程序的发行版 使用 Flash Builder 打包 AIR 应用程序 第 5 章: Flash Builder 中的...
FlashBuilder_4_7_LS10_win64.zip;FlashBuilder_4_7_LS10_win64.z01;FlashBuilder_4_7_LS10_win64.z02;FlashBuilder_4_7_LS10_win64.z03;FlashBuilder_4_7_LS10_win64.z04;FlashBuilder_4_7_LS10_win64.z05;Flash...
FlashBuilder3 FlashBuilder4 各种快捷键 方便使用 提高开发效率
FlashBuilder_4_7_LS10_win64.zip;FlashBuilder_4_7_LS10_win64.z01;FlashBuilder_4_7_LS10_win64.z02;FlashBuilder_4_7_LS10_win64.z03;FlashBuilder_4_7_LS10_win64.z04;FlashBuilder_4_7_LS10_win64.z05;Flash...
FlashBuilder4使用手册,很全面,很详细,而且还有在flashbuilder4中开发actionscript的示例项目,是很不错的学习资料,欢迎下载
FlashBuilder4组件的使用
Flash Builder 4 高速下载
FlashBuilder_4_7_LS10_win64.zip;FlashBuilder_4_7_LS10_win64.z01;FlashBuilder_4_7_LS10_win64.z02;FlashBuilder_4_7_LS10_win64.z03;FlashBuilder_4_7_LS10_win64.z04;FlashBuilder_4_7_LS10_win64.z05;Flash...
FlashBuilder_4_7_LS10_win64.zip;FlashBuilder_4_7_LS10_win64.z01;FlashBuilder_4_7_LS10_win64.z02;FlashBuilder_4_7_LS10_win64.z03;FlashBuilder_4_7_LS10_win64.z04;FlashBuilder_4_7_LS10_win64.z05;Flash...
《Flash builder 4 快速入门》+ 全部案例源码包 Flash builder 电子书教程,教你如何使用,开发项目含实例源码
FlashBuilder_4_7_LS10_win64.zip;FlashBuilder_4_7_LS10_win64.z01;FlashBuilder_4_7_LS10_win64.z02;FlashBuilder_4_7_LS10_win64.z03;FlashBuilder_4_7_LS10_win64.z04;FlashBuilder_4_7_LS10_win64.z05;Flash...
FlashBuilder_4_7_LS10_win64.zip;FlashBuilder_4_7_LS10_win64.z01;FlashBuilder_4_7_LS10_win64.z02;FlashBuilder_4_7_LS10_win64.z03;FlashBuilder_4_7_LS10_win64.z04;FlashBuilder_4_7_LS10_win64.z05;Flash...
使用FlashBuilder 4.7简体中文版