You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2016/04/22 21:29:45 UTC

[23/52] [abbrv] [partial] git commit: [flex-falcon] [refs/heads/feature/maven-migration-test] - move stuff to where I think Maven wants it

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/07f5a7de/debugger/src/flex/tools/debugger/cli/fdbhelp_zh_CN.txt
----------------------------------------------------------------------
diff --git a/debugger/src/flex/tools/debugger/cli/fdbhelp_zh_CN.txt b/debugger/src/flex/tools/debugger/cli/fdbhelp_zh_CN.txt
deleted file mode 100644
index 647f8e5..0000000
--- a/debugger/src/flex/tools/debugger/cli/fdbhelp_zh_CN.txt
+++ /dev/null
@@ -1,1500 +0,0 @@
-
-      Licensed to the Apache Software Foundation (ASF) under one or more
-      contributor license agreements.  See the NOTICE file distributed with
-      this work for additional information regarding copyright ownership.
-      The ASF licenses this file to You under the Apache License, Version 2.0
-      (the "License"); you may not use this file except in compliance with
-      the License.  You may obtain a copy of the License at
-    
-          http://www.apache.org/licenses/LICENSE-2.0
-    
-      Unless required by applicable law or agreed to in writing, software
-      distributed under the License is distributed on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-      See the License for the specific language governing permissions and
-      limitations under the License.
-
-此文件包含 fdb 中“help”命令所显示的文本。
-
-
-
-它分为多个“主题”。例如,当 fdb 用户键入“help break”时,会显示
-
-下面的 [break] 主题。
-
-
-
-每个主题的第一行和最后一行应该为空白。
-
-在 fdb 中不会显示它们;在此处保留它们仅仅是为了使此文件更易读。
-
-
-
-应该将帮助文本的格式设置为在 80 个字符宽的控制台上显示时不换行。
-
-下面的行宽为 80 个字符宽。
-
-
-
---------------------------------------------------------------------------------
-
-
-
-[?]
-
-
-
-未定义的命令。只需执行“help”即可查看所有 fdb 命令的列表。
-
-
-
-[break]
-
-
-
-在指定行或函数处设置断点。
-
-示例:
-
-  break 87
-
-    在当前文件的第 87 行处设置断点。
-
-  break myapp.mxml:56
-
-    在 myapp.mxml 的第 56 行处设置断点。
-
-  break #3:29
-
-    在文件 #3 的第 29 行处设置断点。
-
-  break doThis
-
-    在当前文件中的函数 doThis() 处设置断点。
-
-  break myapp.mxml:doThat
-
-    在文件 myapp.mxml 中的函数 doThat() 处设置断点。
-
-  break #3:doOther
-
-    在文件 #3 中的函数 doOther() 处设置断点。
-
-  break
-
-    在当前堆栈帧中的当前执行地址处设置断点。这有助于返回到
-
-    堆栈帧时中断。
-
-要查看文件名和编号,请执行“info sources”或“info files”。
-
-要查看函数名称,请执行“info functions”。
-
-可接受缩略文件名和函数名称(如果意义明确)。
-
-如果指定了行号,则在该行的代码开头处中断。
-
-如果指定了函数,则在该函数的代码开头处中断。
-
-有关更多断点控制,请参阅“commands”和“condition”。
-
-
-
-[bt]
-
-
-
-堆栈的向后跟踪。
-
-
-
-[catch]
-
-
-
-引发异常时终止。这仅会影响捕获的异常(即,将由“catch”块处理的异常)。
-
-未捕获的异常始终在调试器中保持终止。
-
-
-
-使用“delete”命令可删除捕获点。
-
-
-
-示例:
-
-  catch *
-
-    引发任何异常时终止。
-
-  catch ReferenceError
-
-    任何时候引发 ReferenceError 即会终止,不管是否已捕获。
-
-
-
-[cf]
-
-
-
-显示当前文件的名称和编号,或更改当前文件。
-
-示例:
-
-  cf
-
-    显示当前文件的名称和编号。
-
-  cf myapp.mxml
-
-    将当前文件更改为 myapp.mxml。
-
-  cf #29
-
-    将当前文件更改为文件 #29。
-
-要查看文件名和编号,请执行“info sources”或“info files”。
-
-可接受缩略文件名(如果意义明确)。
-
-使用“list”列出文件同时会使该文件成为当前文件。
-
-
-
-[clear]
-
-
-
-在指定行或函数处清除断点。
-
-示例:
-
-  clear 87
-
-    在当前文件的第 87 行处清除断点。
-
-  clear myapp.mxml:56
-
-    在 myapp.mxml 的第 56 行处清除断点。
-
-  clear #3:29
-
-    在文件 #3 的第 29 行处清除断点。
-
-  clear doThis
-
-    在当前文件中的函数 doThis() 处清除断点。
-
-  clear myapp.mxml:doThat
-
-    在文件 myapp.mxml 中的函数 doThat() 处清除断点。
-
-  clear #3:doOther
-
-    在文件 #3 中的函数 doOther() 处清除断点。
-
-  clear
-
-    清除当前文件中当前行的断点。
-
-要查看文件名和编号,请执行“info sources”或“info files”。
-
-要查看函数名称,请执行“info functions”。
-
-可接受缩略文件名和函数名称(如果意义明确)。
-
-如果指定了行号,则会清除该行中的所有断点。
-
-如果指定了函数,则会清除函数开头处的断点。
-
-
-
-[continue]
-
-
-
-在断点处停止后继续执行。
-
-此命令不使用任何参数。
-
-
-
-[condition]
-
-
-
-
-
-仅当 COND 为 true 时,指定要中断的断点编号 N。
-
-用法为“condition N COND”,其中 N 是一个整数,COND 是达到断点 N 时
-
-的求值表达式。
-
-
-
-[commands]
-
-
-
-设置遇到断点时要执行的命令。
-
-提供断点编号作为“commands”之后的参数。
-
-不使用任何参数,目标断点是设置的最后一个断点。
-
-命令本身接着在下一行上启动。
-
-在命令行中键入“end”表示结束该命令。
-
-提供“silent”作为第一行以使断点为静默;然后遇到它时不会显示任何输出
-
-(除了命令输出的内容之外)。
-
-示例:
-
-  (fdb) 命令
-
-  遇到断点 1 时键入命令,一条命令占一行。
-
-  以只有“end”的行作为结束。
-
-  >w
-
-  >end
-
-
-
-[delete]
-
-
-
-删除一个或多个断点。
-
-示例:
-
-  delete
-
-    删除所有断点。
-
-  delete 2 5
-
-    删除断点 #2 和 #5。
-
-要查看断点编号,请执行“info breakpoints”。
-
-
-
-[directory]
-
-
-
-修改 fdb 搜索源文件的目录列表。
-
-
-
-示例:
-
-
-
-  directory
-
-    将列表恢复为默认值,该默认值为将源文件编译成对象代码的目录,
-
-    后面跟着当前工作目录。
-
-
-
-  directory C:\MySource        (Windows)
-
-  directory /MySource          (Mac)
-
-    将指定目录添加到目录列表的开头,将在该列表中搜索源。例如,为
-
-    类 mypackage.MyClass 查找源时,调试器会查找
-
-    C:\MySource\mypackage\MyClass.as 和
-
-    C:\MySource\MyClass.as。
-
-
-
-  directory C:\Dir1;C:\Dir2    (Windows -- 将 ';' 用作分隔符)
-
-  directory /Dir1:/Dir2        (Mac -- 将 ':' 用作分隔符)
-
-    将若干个目录添加到目录列表的开头,将在该列表中搜索源。
-
-
-
-要查看当前列表,请执行“show directories”。
-
-
-
-[disable]
-
-
-
-禁用一个或多个断点或自动显示表达式。
-
-示例:
-
-  disable
-
-  disable breakpoints
-
-    禁用所有断点。
-
-  disable 2 5
-
-  disable breakpoints 2 5
-
-    禁用断点 #2 和 #5。
-
-  disable display
-
-    禁用所有自动显示表达式。
-
-  disable display 1 3
-
-    禁用自动显示表达式 #1 和 #3。
-
-要查看断点编号,请执行“info breakpoints”。
-
-要查看自动显示表达式编号,请执行“info display”。
-
-
-
-[disassemble]
-
-
-
-(仅 ActionScript 2;调试 ActionScript 3 时不支持)
-
-
-
-反汇编源代码的指定部分。
-
-默认为当前列表行。
-
-支持的参数与使用“list”命令支持的参数相同。示例:
-
-  disassemble 87
-
-    反汇编当前文件中的第 87 行。
-
-  disassemble 87 102
-
-    反汇编当前文件中的第 87 行到第 102 行。
-
-  disassemble doThis
-
-      反汇编当前文件中的函数 doThis()。
-
-除如上使用简单行号之外,还可以使用另外方式指定行:
-
-   myapp.mxml
-
-      myapp.mxml 中的第 1 行。
-
-   myapp.mxml:doThat
-
-      myapp.mxml 中的函数 doThat() 的第一行。
-
-   myapp.mxml:56
-
-      myapp.mxml 中的第 56 行。
-
-   #3
-
-      文件 #3 中的第 1 行。
-
-   #3:doOther
-
-      在文件 #3 中函数 doOther() 开头处的行。
-
-   #3:29
-
-      文件 #3 中的第 29 行。
-
-
-
-[display]
-
-
-
-将表达式添加到自动显示表达式列表。
-
-示例:
-
-  display employee.name
-
-    将“employee.name”添加到自动显示表达式列表。
-
-    每次 fdb 停止时,将显示 employee.name 的值。
-
-此命令的参数与“print”的参数类似。
-
-要查看自动显示表达式及其编号的列表,请执行“info display”。
-
-
-
-[down]
-
-
-
-选中并输出由此命令调用的堆栈帧。
-
-后续的“info arguments”和“info locals”命令将显示选定帧的局部变量和参数。
-
-请参阅“up”和“frame”。
-
-
-
-[enable]
-
-
-
-启用一个或多个断点或自动显示表达式。
-
-示例:
-
-  enable
-
-  enable breakpoints
-
-    启用所有断点。
-
-  enable 2 5
-
-  enable breakpoints 2 5
-
-    启用断点 #2 和 #5。
-
-  enable display
-
-    启用所有自动显示表达式。
-
-  enable display 1 3
-
-    启用自动显示表达式 #1 和 #3。
-
-要查看断点编号,请执行“info breakpoints”。
-
-要查看自动显示表达式编号,请执行“info display”。
-
-
-
-[file]
-
-
-
-指定要调试的应用程序,而不启动它。
-
-示例:
-
-  file http://www.mysite.com/myapp.mxml
-
-    指定要调试的 MXML 应用程序。
-
-  file myapp.swf
-
-    指定当前目录中要调试的本地 SWF 文件。
-
-    这种情况下,当前目录中必须也有 myapp.swd(包含调试信息的文件)。
-
-此命令实际上不会引起应用程序启动;使用不带参数的“run”命令开始调试
-
-应用程序。
-
-不需要先使用“file <target>”然后使用“run”,只需将要调试的应用程序
-
-指定为“run”的参数即可:
-
-  run http://mysite.com/myapp.mxml
-
-  run myapp.swf
-
-也可以指定,在启动 fdb 时以命令行参数的方式调试应用程序:
-
-  fdb http://www.mysite.com/myapp.mxml
-
-  fdb myapp.swf
-
-这种情况下不需要使用“file”或“run”。
-
-如果使用“run”而未指定要调试的应用程序,则 fdb 将等待任何应用程序
-
-以连接到它。
-
-
-
-[finish]
-
-
-
-执行,直到当前函数返回为止。
-
-此命令不使用任何参数。
-
-
-
-[frame]
-
-
-
-选中并输出特定堆栈帧。
-
-此命令使用一个可选参数(一个帧编号)。
-
-如果未提供参数,则默认为返回到当前顶部帧(即,帧 0)。
-
-示例:
-
-  frame 4
-
-  frame
-
-后续的“info arguments”和“info locals”命令将显示选定帧的局部变量和参数。
-
-请参阅“up”、“down”和“bt”。
-
-
-
-[handle]
-
-
-
-指定 fdb 应如何处理 Flash Player 中的故障。
-
-示例:
-
-  handle recursion_limit stop
-
-    发生 recursion_limit 故障时,会在 fdb 中显示消息并停止(就好像在断点处)。
-
-  handle all print nostop
-
-    发生任何种类的故障时,都会在 fdb 中显示消息但不停止。
-
-第一个参数是故障名称或“all”。
-
-其它参数是应用到该故障的操作。
-
-要查看故障名称,请执行“info handle”。
-
-操作有 print/noprint 和 stop/nostop。
-
-“print”意味着发生此故障时输出一条消息。
-
-“stop”意味着发生此故障时重新进入调试器。包含“print”。
-
-
-
-[help]
-
-
-
-您是第一次使用 fdb 吗? 请执行“tutorial”获取基本信息。
-
-fdb 命令的列表:
-
-bt (bt)             输出所有堆栈帧的向后跟踪
-
-break (b)           在指定行或函数处设置断点
-
-catch (ca)          引发异常时终止
-
-cf (cf)             显示当前文件的名称和编号
-
-clear (cl)          在指定行或函数处清除断点
-
-condition (cond)    将条件表达式应用到断点或删除断点的条件表达式
-
-continue (c)        在断点处停止后继续执行
-
-commands (com)      设置遇到断点时要执行的命令
-
-delete (d)          删除断点或自动显示表达式
-
-directory (dir)     将目录添加到源文件的搜索路径
-
-disable (disab)     禁用断点或自动显示表达式
-
-disassemble (disas) 反汇编源行或函数
-
-display (disp)      添加自动显示表达式
-
-enable (e)          启用断点或自动显示表达式
-
-file (fil)          指定要调试的应用程序
-
-finish (f)          执行,直到当前函数返回为止
-
-handle (han)        指定如何处理故障
-
-help (h)            显示关于 fdb 命令的帮助
-
-home (ho)           设置终止执行的列表位置
-
-info (i)            显示关于正在调试的程序的信息
-
-kill (k)            停止正在调试的程序的执行
-
-list (l)            列出指定函数或行
-
-next (n)            单步执行程序
-
-print (p)           输出变量表达式的值
-
-pwd (pw)            输出工作目录
-
-quit (q)            退出 fdb
-
-run (r)             启动调试的程序
-
-set (se)            设置变量的值
-
-source (so)         从文件读取 fdb 命令
-
-step (s)            单步执行程序,直到遇到其它源行为止
-
-tutorial (t)        显示关于如何使用 fdb 的教程
-
-undisplay (u)       删除自动显示表达式
-
-viewswf (v)         为基于 swf 的文件列表设置或清除过滤器
-
-watch (wa)          在给定变量上添加观察点
-
-what (wh)           显示变量的上下文
-
-where (w)           与 bt 相同
-
-键入“help”并后跟命令名可查看完整文档。
-
-
-
-[home]
-
-
-
-设置终止执行的列表位置。
-
-
-
-[info]
-
-
-
-用于显示关于正在调试的程序事项的通用命令。
-
-“info”子命令的列表:
-
-info arguments (i a)    当前堆栈帧的参数变量
-
-info breakpoints (i b)  用户可设置的断点的状态
-
-info display (i d)      显示自动显示表达式列表
-
-info files (i f)        正在调试的目标和文件的名称
-
-info functions (i fu)   所有函数名称
-
-info handle (i h)       如何处理故障
-
-info locals (i l)       当前堆栈帧的局部变量
-
-info scopechain (i sc)  当前堆栈帧的作用域链
-
-info sources (i so)     程序中的源文件
-
-info stack (i s)        堆栈的向后跟踪
-
-info swfs (i sw)        此会话中的 swf 列表
-
-info targets(i t)       正在调试的应用程序
-
-info variables (i v)    所有全局和静态变量名称
-
-键入“help info”并后跟“info”子命令名可查看完整文档。
-
-
-
-[info arguments]
-
-
-
-显示当前堆栈帧的参数。
-
-
-
-[info breakpoints]
-
-
-
-显示所有断点和观察点的状态。
-
-Type 列指示以下各项之一:
-
-   breakpoint   - 正常断点
-
-   watchpoint   - 观察点
-
-Disp 列包含“keep”、“del”或“dis”之一以指示遇到它之后断点的处置。
-
-“dis”意味着将禁用断点,而“del”意味着将删除断点。
-
-“Address”列和“What”列分别指示地址和文件/行号。
-
-
-
-[info display]
-
-
-
-显示自动显示表达式及其编号的列表。
-
-
-
-[info files]
-
-
-
-显示正在调试的应用程序的文件名称和编号,包括源文件、framework 文件
-
-和自动生成的文件。
-
-示例:
-
-  info files
-
-    按类别以字母顺序列出所有文件
-
-  info files my
-
-  info files my*
-
-    按字母顺序列出名称以“my”开头的所有文件。
-
-  info files *.as
-
-    按字母顺序列出名称以“.as”结尾的所有文件。
-
-  info files *foo*
-
-    按字母顺序列出名称包含“foo”的所有文件。
-
-会按 name#N 格式显示文件,其中 N 是文件编号。
-
-在许多命令中可以使用 #N 代替文件名。
-
-
-
-[info functions]
-
-
-
-显示函数名称。
-
-示例:
-
-  info functions .
-
-    显示当前文件中的所有函数。
-
-  info functions myapp.mxml
-
-    显示 myapp.mxml 中的所有函数。
-
-  info functions #3
-
-    显示文件 #3 中的所有函数。
-
-  info functions
-
-    显示所有文件中的所有函数。
-
-要查看文件名和编号,请执行“info sources”或“info files”。
-
-可接受缩略文件名(如果意义明确)。
-
-
-
-[info handle]
-
-
-
-显示在 Flash Player 中发生故障时 fdb 执行的操作。
-
-示例:
-
-  info handle
-
-    显示 fdb 如何处理所有故障。
-
-  info handle recursion_limit
-
-    显示 fdb 如何处理 recursion_limit 故障。
-
-
-
-[info locals]
-
-
-
-显示当前堆栈帧的局部变量。
-
-
-
-[info scopechain]
-
-
-
-显示当前堆栈帧的作用域链。作用域链是当 Flash Player 尝试解析符号
-
-名称时搜索的对象列表。
-
-
-
-[info sources]
-
-
-
-显示正在调试的应用程序的源文件的名称和编号。不包括 Framework 文件和
-
-自动生成的文件。
-
-会按 name#N 格式显示文件,其中 N 是文件编号。
-
-在许多命令中可以使用 #N 代替文件名。
-
-
-
-[info stack]
-
-
-
-堆栈的向后跟踪。
-
-
-
-[info swfs]
-
-
-
-显示对于调试会话为已知的 swf。有关如何基于 swf 名称过滤文件列表的
-
-详细信息,请参阅命令“viewswf”。
-
-
-
-[info targets]
-
-
-
-显示正在调试的应用程序的 URL(http: 或 file:)。
-
-
-
-[info variables]
-
-
-
-显示所有全局变量名称和值以及所有静态变量名称和值。
-
-
-
-[info ?]
-
-
-
-未定义的“info”命令。请尝试“help info”。
-
-
-
-[kill]
-
-
-
-停止正在调试的程序的执行。
-
-此命令不使用任何参数。
-
-
-
-[list]
-
-
-
-列出源文件中的代码行。
-
-示例:
-
-  list
-
-    再列出当前文件中在先前列表之后或附近的 10 行。
-
-  list -
-
-    列出当前文件中在先前列表之前的 10 行。
-
-  list 87
-
-    列出当前文件中在第 87 行附近的 10 行。
-
-  list 87 102
-
-    列出当前文件中的第 87 行到第 102 行。
-
-除如上使用简单行号之外,还可以使用另外七种方式指定行:
-
-  doThis
-
-      当前文件中函数 doThis() 的第一行。
-
-   myapp.mxml
-
-      myapp.mxml 中的第 1 行。
-
-   myapp.mxml:doThat
-
-      myapp.mxml 中的函数 doThat() 的第一行。
-
-   myapp.mxml:56
-
-      myapp.mxml 中的第 56 行。
-
-   #3
-
-      文件 #3 中的第 1 行。
-
-   #3:doOther
-
-      在文件 #3 中函数 doOther() 开头处的行。
-
-   #3:29
-
-      文件 #3 中的第 29 行。
-
-要查看文件名和编号,请执行“info sources”或“info files”。
-
-要查看函数名称,请执行“info functions”。
-
-可接受缩略文件名和函数名称(如果意义明确)。
-
-列出文件会使该文件成为当前文件。(请参阅“cf”命令。)
-
-
-
-[next]
-
-
-
-单步执行程序,通过子例程调用继续。
-
-  next
-
-    单步执行一次。
-
-  next 3
-
-    单步执行 3 次,或者直到程序由于其它原因而停止为止。
-
-只要不发生子例程调用,就像“step”命令一样;当发生子例程调用时,
-
-会将该调用视为一个指令。
-
-
-
-[print]
-
-
-
-输出变量或表达式的值。
-
-示例:
-
-  print i
-
-    输出“i”的值。
-
-  print employee.name
-
-    输出“employee.name”的值。
-
-  print employee
-
-    输出“employee”对象的值。
-
-    这可能只会显示类似 [对象 10378] 的内容。
-
-  print employee.
-
-    输出“employee”对象的所有属性的值。
-
-  print *employee
-
-    输出“employee”对象的所有属性的值。
-
-    前缀 * 运算符是后缀 . 运算符的前缀替代项。
-
-  print #10378.
-
-    输出对象 #10378 的所有属性的值。
-
-可访问变量是选定堆栈帧的词法环境的那些变量,加上作用域为全局或
-
-整个文件的所有变量。
-
-
-
-[pwd]
-
-
-
-输出当前工作目录。
-
-这是启动 fdb 的目录;无法在 fdb 内更改它。可以相对于此目录指定“run”和
-
-“source”的参数。
-
-此命令不使用任何参数。
-
-
-
-[quit]
-
-
-
-退出 fdb。
-
-此命令不使用任何参数。
-
-
-
-[run]
-
-
-
-启动调试会话。
-
-示例:
-
-  run http://www.mysite.com/myapp.mxml
-
-    运行指定的 MXML 应用程序。
-
-  run myapp.swf
-
-  run mydir\myapp.swf
-
-  run c:\mydir\myapp.swf
-
-    运行本地 SWF 文件 myapp.swf,可以相对于当前目录(请参阅“pwd”命令)
-
-    或通过使用绝对路径指定该文件。这些情况下,myapp.swd(包含调试
-
-    信息的文件)也必须与	myapp.swf 位于同一目录中。
-
-  run
-
-    运行先前由“file”命令指定的应用程序。
-
-    如果未指定任何应用程序,则 fdb 将等待一个应用程序以连接到它,
-
-    且在等不到时将超时。
-
-“run”将在浏览器中或独立 Flash Player 中启动应用程序。
-
-只要应用程序一启动,它将打断 fdb 以便您设置断点等等。
-
-
-
-在 Macintosh 上,该命令唯一支持的形式是不使用任何参数的“run”。
-
-接着必须手动启动 Flash player。
-
-
-
-[set]
-
-
-
-设置变量或快捷变量的值。
-
-快捷变量是完全位于 fdb 内的变量;它们并非您的程序的组成部分。
-
-快捷变量的前缀为“$”,快捷变量可以是不与任何现有变量冲突的任何名称。
-
-例如,$myVar。
-
-快捷变量还可用于控制 fdb 的各个方面。
-
-
-
-以下快捷变量供 fdb 使用。
-
-$listsize          - 对于“list”要显示的源行的数量
-
-$columnwrap        - 在其上输出将换行的列编号
-
-$infostackshowthis - 若为 0,则在堆栈向后跟踪中不显示“this”
-
-$invokegetters     - 若为 0,则禁止 fdb 启动 getter 函数
-
-$bpnum             - 最后一个定义的断点编号
-
-$displayattributes - 若为 1,则“print var.”会显示“var”的成员的所有属性(例如,
-
-                     private、static)
-
-
-
-示例:
-
-  set i = 3
-
-    将变量“i”设置为数字 3。
-
-  set employee.name = "Susan"
-
-    将变量“employee.name”设置为字符串 "Susan"。
-
-  set $myVar = 20
-
-    将快捷变量“$myVar”设置为数字 20。
-
-
-
-[show]
-
-
-
-用于显示关于 fdb 的状态的事项的通用命令。
-
-“show”子命令的列表:
-
-show break (sh b)       已暂停执行的位置和原因
-
-show directories (sh d) 用于搜索源文件的目录
-
-show files (sh f)       目标文件和路径
-
-show functions (sh fu)  函数行映射信息
-
-show locations (sh l)   断点位置
-
-show memory (sh m)      当前内存使用情况
-
-show net (sh n)         Player 消息统计数据
-
-show properties (sh p)  属性值
-
-show uri (sh u)         此会话的 Player 的 URI
-
-show variable (sh v)    原始变量检索
-
-键入“help show”并后跟“show”子命令名可查看完整文档。
-
-
-
-[show break]
-
-
-
-显示程序终止所在的 SWF 内的偏移。
-
-
-
-[show directories]
-
-
-
-显示用于查找源文件的当前搜索目录。
-
-
-
-[show files]
-
-
-
-显示所有目标文件的路径和文件名。
-
-
-
-[show functions]
-
-
-
-显示函数到行号映射信息。
-
-示例:
-
-  show functions .
-
-    显示当前文件中所有函数的映射信息。
-
-  show functions myapp.mxml
-
-    显示 myapp.mxml 中所有函数的映射信息。
-
-  show functions #3
-
-    显示文件 #3 中所有函数的映射信息。
-
-  show functions
-
-    显示所有文件中所有函数的映射信息。
-
-要查看文件名和编号,请执行“info sources”或“info files”。
-
-可接受缩略文件名(如果意义明确)。
-
-
-
-[show locations]
-
-
-
-显示为每个断点设置的位置列表。
-
-
-
-[show memory]
-
-
-
-显示 Java VM 内存统计数据。
-
-
-
-[show net]
-
-
-
-显示关于已发送到 Flash Player 和已从 Flash Player 接收到的消息的信息。
-
-
-
-[show properties]
-
-
-
-显示在调试器内使用的快捷变量的列表。
-
-
-
-[show uri]
-
-
-
-显示 Player 已为此会话发送的 URI。
-
-
-
-[show variable]
-
-
-
-显示变量的成员的值。需要两个参数;第一个是数字变量标识符,第二个是
-
-变量上属性的名称。快捷变量 $invokegetters 用于确定是否将启动
-
-属性 getter(假定它存在)。
-
-示例:
-
-    show variable 1 __proto__
-
-
-
-[show ?]
-
-
-
-未定义“的show”命令。请尝试“help show”。
-
-
-
-[source]
-
-
-
-从文件读取 fdb }令并g行它们。
-
-  source mycommands.txt
-
-  source mydir\mycommands.txt
-
-  source c:\mydir\mycommands.txt
-
-    读取 mycommands.txt 并执行其中的 fdb 命令。
-
-    可以相对于当前目录(请参阅“pwd”命令)或通过使用绝对路径指定
-
-    包含命令的文件。
-
-启动 fdb 时,会使用此方式自动读取文件 .fdbinit。
-
-仅在当前目录中搜索 .fdbinit。这意味着您可以为不同的项目设置
-
-多个 .fdbinit 文件。
-
-
-
-[step]
-
-
-
-单步执行程序,直到遇到其它源行为止。
-
-示例:
-
-  step
-
-    单步执行一次。
-
-  step 3
-
-    单步执行 3 次,或者直到程序由于其它原因而停止为止。
-
-
-
-[tutorial]
-
-
-
-显示关于如何使用 fdb 的教程。
-
-此命令不使用任何参数。
-
-
-
-[Tutorial]
-
-
-
-典型的 fdb 会话:
-
-使用“run”启动应用程序。
-
-使用“info sources”查看文件名。
-
-使用“list”列出文件。
-
-使用“break”设置断点。
-
-使用“continue”执行程序,直到遇到断点为止。
-
-使用“where”、“print”、“info locals”检查程序的状态。
-
-使用“next”、“step”和“finish”执行各个语句。
-
-使用“continue”继续执行。
-
-使用“quit”退出 fdb。
-
-
-
-[undisplay]
-
-
-
-删除一个或多个自动显示表达式。
-
-示例:
-
-  undisplay
-
-    删除所有自动显示表达式。
-
-  undisplay 2 7
-
-    删除自动显示表达式 #2 和 #7。
-
-要查看自动显示表达式及其编号的列表,请执行“info display”。
-
-
-
-[up]
-
-
-
-选中并输出调用此命令的堆栈帧。
-
-后续的“info arguments”和“info locals”命令将显示选定帧的局部变量和参数。
-
-请参阅“down”和“frame”。
-
-
-
-[viewswf]
-
-
-
-为基于 swf 名称的文件列表(即,“info files”和“info sources”)设置或清除
-
-过滤器。不使用任何参数,将显示所有文件。如果在一个或多个 swf 中存在
-
-同一文件,则该列表将仅显示该文件的第一个实例。要访问该文件的其它实例,
-
-请使用文件的编号(例如,“list #192”),或将此命令与一个参数一起使用
-
-(如下所示)以显示来自某个特定 swf 的文件。使用单个参数
-
-(就像“info swfs”命令所显示的 swf 名称),在文件列表中将仅显示
-
-来自指定 swf 的文件。将不会显示来自其它 swf 的文件。此命令还会影响
-
-将文件视为参数的命令(例如,“break”)。示例:
-
-  viewswf myApp.mxml.swf
-
-    将仅显示来自 myApp.mxml.swf 的文件。
-
-  viewswf
-
-    将显示来自所有 swf 的所有文件。
-
-
-
-[watch]
-
-
-
-在给定变量上添加观察点。当变量的值改变时,调试器将终止执行。
-
-示例:
-
-  watch foo
-
-
-
-[what]
-
-
-
-显示解析变量的上下文。
-
-
-
-[where]
-
-
-
-堆栈的向后跟踪。
-
-
-
-[zzz]
-
-
-
-((( 将此未使用的主题保留在文件末尾    )))
-
-((( 以便正确分析倒数第二个主题。)))
-
-
-

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/07f5a7de/debugger/src/flex/tools/debugger/cli/fdbhelp_zh_TW.txt
----------------------------------------------------------------------
diff --git a/debugger/src/flex/tools/debugger/cli/fdbhelp_zh_TW.txt b/debugger/src/flex/tools/debugger/cli/fdbhelp_zh_TW.txt
deleted file mode 100644
index 9faa9d6..0000000
--- a/debugger/src/flex/tools/debugger/cli/fdbhelp_zh_TW.txt
+++ /dev/null
@@ -1,1486 +0,0 @@
-
-      Licensed to the Apache Software Foundation (ASF) under one or more
-      contributor license agreements.  See the NOTICE file distributed with
-      this work for additional information regarding copyright ownership.
-      The ASF licenses this file to You under the Apache License, Version 2.0
-      (the "License"); you may not use this file except in compliance with
-      the License.  You may obtain a copy of the License at
-    
-          http://www.apache.org/licenses/LICENSE-2.0
-    
-      Unless required by applicable law or agreed to in writing, software
-      distributed under the License is distributed on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-      See the License for the specific language governing permissions and
-      limitations under the License.
-
-此檔案包含在 fdb 中使用「help」指令所顯示的文字。
-
-
-
-它會分成幾個「主題」。例如,當 fdb 使用者輸入「help break」時,下方的 [break] 主
-
-題就會顯示。
-
-
-
-每個主題的第一行和最後一行都應該保留空白。
-
-這兩行不會在 fdb 中顯示;在此處僅用於讓這個檔案更容易閱讀。
-
-
-
-說明文字顯示在 80 個字元寬的主控台時,不應該格式化為自動換行。
-
-以下行寬度為 80 個字元。
-
-
-
---------------------------------------------------------------------------------
-
-
-
-[?]
-
-
-
-未定義的指令。請僅執行「help」來查看所有 fdb 指令的清單。
-
-
-
-[break]
-
-
-
-將中斷點設定在指定的行或函數。
-
-範例:
-
-  break 87
-
-    將中斷點設定在目前檔案的第 87 行。
-
-  break myapp.mxml:56
-
-    將中斷點設定在 myapp.mxml 的第 56 行。
-
-  break #3:29
-
-    將中斷點設定在檔案 #3 的第 29 行。
-
-  break doThis
-
-    在中斷點設定在目前檔案的函數 doThis()。
-
-  break myapp.mxml:doThat
-
-    將中斷點設定在檔案 myapp.mxml 的函數 doThat()。
-
-  break #3:doOther
-
-    將中斷點設定在檔案 #3 的函數 doOther()。
-
-  break
-
-   將中斷點設定在目前堆疊框架的目前執行位址。這有助於對返回到堆疊框架執行中斷
-
-   作業。
-
-若要查看檔案名稱和號碼,請執行「info sources」或「info files」。
-
-若要查看函數名稱,請執行「info functions」。
-
-採用縮寫形式的檔案名稱和函數名稱若都很明確,則可以接受。
-
-如果指定了行號,請在該行的程式碼的開頭處中斷。
-
-如果指定了函數,請在該函數的程式碼的開頭處中斷。
-
-請參閱「commands」和「condition」,以瞭解進一步的中斷點控制。
-
-
-
-[bt]
-
-
-
-堆疊的回溯追蹤。
-
-
-
-[catch]
-
-
-
-擲出例外狀況時中止。這只會影響捕捉到的例外狀況,即由「catch」區塊處理的例外狀況。
-
-在除錯程式中,未捕捉到的例外狀況一律會中止。
-
-
-
-使用「delete」指令來刪除捕捉點。
-
-
-
-範例:
-
-  catch *
-
-    擲出任何的例外狀況時中止。
-
-  catch ReferenceError
-
-    只要擲出 ReferenceError,無論是否到捕捉,均會中止。
-
-
-
-[cf]
-
-
-
-顯示目前檔案的名稱和號碼,或是變更目前的檔案。
-
-範例:
-
-  cf
-
-    顯示目前檔案的名稱和號碼。
-
-  cf myapp.mxml
-
-    將目前的檔案變更為 myapp.mxml。
-
-  cf #29
-
-    將目前的檔案變更為檔案 #29。
-
-若要查看檔案名稱和號碼,請執行「info sources」或「info files」。
-
-採用縮寫形式的檔案名稱若都很明確,則可以接受。
-
-使用「list」列出檔案也會使該檔案成為目前的檔案。
-
-
-
-[clear]
-
-
-
-清除指定的行或函數的中斷點。
-
-範例:
-
-  clear 87
-
-    清除目前檔案第 87 行的中斷點。
-
-  clear myapp.mxml:56
-
-    清除 myapp.mxml 第 56 行的中斷點。
-
-  clear #3:29
-
-    清除檔案 #3 第 29 行的中斷點。
-
-  clear doThis
-
-    清除目前檔案中的函數 doThis() 的中斷點。
-
-  clear myapp.mxml:doThat
-
-    清除檔案 myapp.mxml 的函數 doThat() 的中斷點。
-
-  clear #3:doOther
-
-    清除檔案 #3 的函數 doOther() 的中斷點。
-
-  clear
-
-    清除目前檔案中的目前行的中斷點。
-
-若要查看檔案名稱和號碼,請執行「info sources」或「info files」。
-
-若要查看函數名稱,請執行「info functions」。
-
-採用縮寫形式的檔案名稱和函數名稱若都很明確,則可以接受。
-
-如果指定了行號,會清除該行中的所有中斷點。
-
-如果指定了函數,會清除函數開頭處的中斷點。
-
-
-
-[continue]
-
-
-
-在中斷點處停止之後繼續執行。
-
-此指令不使用任何引數。
-
-
-
-[condition]
-
-
-
-
-
-僅在 COND 為 true 時,指定要中斷的中斷點號碼 N。
-
-用法為「condition N COND」,其中 N 是整數,COND 是每次到達中斷點 N 時所
-
-要求值的運算式。
-
-
-
-[commands]
-
-
-
-設定到達中斷點時所要執行的指令。
-
-提供中斷點號碼作為「commands」後面的引數。
-
-如果未使用引數,目標中斷點即上次所設定的中斷點。
-
-指令本身會跟在下一行開頭之後。
-
-輸入包含「end」的行來代表行的結尾。
-
-提供「silent」作為第一行,以使中斷點處於無訊息狀態;因此,到達中斷點時,除了
-
-指令所列印的內容,將不會列印輸出。
-
-範例:
-
-  (fdb) 指令
-
-  輸入到達中斷點 1 時要使用的指令,一行一個指令。
-
-  使用僅包含「end」的行來結束。
-
-  >w
-
-  >end
-
-
-
-[delete]
-
-
-
-刪除一或多個中斷點。
-
-範例:
-
-  delete
-
-    刪除所有中斷點。
-
-  delete 2 5
-
-    刪除中斷點 #2 和 #5。
-
-若要查看中斷點號碼,請執行「info breakpoints」。
-
-
-
-[directory]
-
-
-
-修改 fdb 搜尋原始檔案所在目錄的清單。
-
-
-
-範例:
-
-
-
-  directory
-
-    將清單還原成預設值,即原始檔案編譯成物件程式碼的目錄,後面跟隨目前的工作目錄。
-
-
-
-  directory C:\MySource        (Windows)
-
-  directory /MySource          (Mac)
-
-    將指定的目錄加入將搜尋其來源的目錄清單開頭。例如,尋找類別
-
-    mypackage.MyClass 的來源時,除錯程式會同時尋找
-
-    C:\MySource\mypackage\MyClass.as 和 C:\MySource\MyClass.as。
-
-
-
-  directory C:\Dir1;C:\Dir2    (Windows -- 使用「;」作為分隔符號)
-
-  directory /Dir1:/Dir2        (Mac -- 使用「:」作為分隔符號)
-
-    將數個目錄加入將搜尋其來源的目錄清單開頭。
-
-
-
-若要查看目前清單,請執行「show directories」。
-
-
-
-[disable]
-
-
-
-停用一或多個中斷點或自動顯示的運算式。
-
-範例:
-
-  disable
-
-  disable breakpoints
-
-    停用所有中斷點。
-
-  disable 2 5
-
-  disable breakpoints 2 5
-
-    停用中斷點 #2 和 #5。
-
-  disable display
-
-    停用所有自動顯示的運算式。
-
-  disable display 1 3
-
-    停用自動顯示的運算式 #1 和 #3。
-
-若要查看中斷點號碼,請執行「info breakpoints」。
-
-若要查看自動顯示的運算式號碼,請執行「info display」。
-
-
-
-[disassemble]
-
-
-
-(僅限 ActionScript 2;對 ActionScript 3 執行除錯時不支援)
-
-
-
-分解原始程式碼的指定部分。
-
-預設為目前的清單行。
-
-支援的引數與 list 指令相同。範例:
-
-  disassemble 87
-
-    分解目前檔案中的第 87 行。
-
-  disassemble 87 102
-
-    分解目前檔案中的第 87 到 102 行。
-
-  disassemble doThis
-
-      分解目前檔案中的函數 doThis()。
-
-除了使用如上的簡單行號外,您還可以使用其他方式指定行:
-
-   myapp.mxml
-
-      myapp.mxml 中的第 1 行。
-
-   myapp.mxml:doThat
-
-      myapp.mxml 中的第一行函數 doThat()。
-
-   myapp.mxml:56
-
-      myapp.mxml 中的第 56 行。
-
-   #3
-
-      檔案 #3 中的第 1 行。
-
-   #3:doOther
-
-      檔案 #3 中函數 Other() 開始所在的行。
-
-   #3:29
-
-      檔案 #3 中的第 29 行。
-
-
-
-[display]
-
-
-
-將運算式加入自動顯示的運算式清單。
-
-範例:
-
-  display employee.name
-
-    將「employee.name」加入自動顯示的運算式清單。
-
-    每次 fdb 停止時,就會顯示 employee.name 的值。
-
-此指令的引數類似於「print」的引數。
-
-若要查看自動顯示的運算式及其號碼的清單,請執行「info display」。
-
-
-
-[down]
-
-
-
-選取並列印這一個項目所呼叫的堆疊框架。
-
-後續的「info arguments」和「info locals」指令將顯示所選框架的區域函數和引數。
-
-請參閱「up」和「frame」
-
-
-
-[enable]
-
-
-
-啟用一或多個中斷點或自動顯示的運算式。
-
-範例:
-
-  enable
-
-  enable breakpoints
-
-    啟用所有中斷點。
-
-  enable 2 5
-
-  enable breakpoints 2 5
-
-    啟用中斷點 #2 和 #5。
-
-  enable display
-
-    啟用所有自動顯示的運算式。
-
-  enable display 1 3
-
-    啟用自動顯示的運算式 #1 和 #3。
-
-若要查看中斷點號碼,請執行「info breakpoints」。
-
-若要查看自動顯示的運算式號碼,請執行「info display」。
-
-
-
-[file]
-
-
-
-指定要除錯的應用程式,但不啟動它。
-
-範例:
-
-  file http://www.mysite.com/myapp.mxml
-
-    指定要除錯的 MXML 應用程式。
-
-  file myapp.swf
-
-    指定要在目前目錄中除錯的本機 SWF 檔案。
-
-    在此情況下,myapp.swd (含有除錯資訊的檔案) 必須也存在於目前目錄中。
-
-此指令不會真的使應用程式啟動;請使用不含引數的「run」指令,來啟動對應用程式的
-
-除錯。
-
-代替使用「file <target>」後接著使用「run」,可以僅指定要除錯的應用程式做為「run」
-
-的引數:
-
-  run http://mysite.com/myapp.mxml
-
-  run myapp.swf
-
-您也可以在啟動 fdb 時,指定要除
-
-  錯的應用程式做為指令行引數:
-
-  fdb http://www.mysite.com/myapp.mxml
-
-  fdb myapp.swf
-
-在此情況下,您不需要使用
-
-  「file」或「run」。
-
-如果使用「run」時未指定要除錯的程式,fdb 將會等待任何應用程式與之連線。
-
-
-
-[finish]
-
-
-
-在目前的函數返回之前一直執行。
-
-此指令不使用任何引數。
-
-
-
-[frame]
-
-
-
-選取並列印特定的堆疊框架。
-
-此指令會使用可選引數,即框架號碼。
-
-如果未提供引數,預設為返回到目前的頂層框架 (即框架 0)。
-
-範例:
-
-  frame 4
-
-  frame
-
-後續的「info arguments」和「info locals」指令將顯示所選框架的區域函數和引數。
-
-請參閱「up」、「down」和「bt」
-
-
-
-[handle]
-
-
-
-指定 fdb 應該以何種方式處理 Flash Player 中的錯誤。
-
-範例:
-
-  handle recursion_limit stop
-
-    發生 recursion_limit 錯誤時,在 fdb 中顯示訊息並停止,就像是在中斷點一樣。
-
-  handle all print nostop
-
-    發生任何類型的錯誤時,在 fdb 中顯示訊息,但不停止。
-
-第一個引數是錯誤名稱或「all」。
-
-其他引數是套用至該錯誤的動作。
-
-若要查看錯誤名稱,請執行「info handle」。
-
-動作為 print/noprint 和 stop/nostop。
-
-「print」代表發生此錯誤時列印訊息。
-
-「stop」代表發生此錯誤時重新進入除錯程式。意謂「print」。
-
-
-
-[help]
-
-
-
-使用 fdb 的新手? 執行「tutorial」以取得基本資訊。
-
-fdb 指令清單:
-
-bt (bt)             列印所有堆疊框架的回溯追蹤
-
-break (b)           將中斷點設定在指定的行或函數
-
-catch (ca)          擲出例外狀況時中止
-
-cf (cf)             顯示目前檔案的名稱和號碼
-
-clear (cl)          清除指定的行或函數的中斷點
-
-condition (cond)    在中斷點套用/移除條件式運算式
-
-continue (c)        在中斷點處停止之後繼續執行
-
-commands (com)      設定到達中斷點時要執行的指令
-
-delete (d)          刪除中斷點或自動顯示的運算式
-
-directory (dir)     將目錄加入原始檔案的搜尋路徑
-
-disable (disab)     停用中斷點或自動顯示的運算式
-
-disassemble (disas) 分解來源行或函數
-
-display (disp)      加入自動顯示的運算式
-
-enable (e)          啟用中斷點或自動顯示的運算式
-
-file (fil)          指定要除錯的應用程式
-
-finish (f)          在目前的函數返回之前一直執行
-
-handle (han)        指定錯誤的處理方式
-
-help (h)            顯示有關 fdb 指令的說明
-
-home (ho)           將清單位置設定為執行的中止位置
-
-info (i)            顯示有關正在除錯之程式的資訊
-
-kill (k)            終止執行正在除錯的程式
-
-list (l)            列出指定函數或行
-
-next (n)            執行程式單步作業
-
-print (p)           列印變數 EXP 的值
-
-pwd (pw)            列印工作目錄
-
-quit (q)            結束 fdb
-
-run (r)             啟動已除錯的程式
-
-set (se)            設定變數的值
-
-source (so)         從檔案讀取 fdb 指令
-
-step (s)            執行程式單步作業,直到到達不同的來源行
-
-tutorial (t)        顯示如何使用 fdb 的教學課程
-
-undisplay (u)       移除自動顯示的運算式
-
-viewswf (v)         根據 swf 設定或清除檔案清單的過濾器
-
-watch (wa)          在指定變數上加入監視點
-
-what (wh)           顯示變數的上下文
-
-where (w)           與 bt 相同
-
-輸入「help」,後面跟隨指令名稱以取得完整文件。
-
-
-
-[home]
-
-
-
-將清單位置設定為執行的中止位置。
-
-
-
-[info]
-
-
-
-用於顯示正在除錯的程式相關資訊的一般指令。
-
-info 子指令的清單:
-
-info arguments (i a)    目前堆疊框架的引數變數
-
-info breakpoints (i b)  使用者可設定之中斷點的狀態
-
-info display (i d)      顯示自動顯示的運算式清單
-
-info files (i f)        正在除錯的目標和檔案名稱
-
-info functions (i fu)   所有函數名稱
-
-info handle (i h)       錯誤的處理方式
-
-info locals (i l)       目前堆疊框架的區域變數
-
-info scopechain (i sc)  目前堆疊框架的範圍鏈結
-
-info sources (i so)     程式中的原始檔案
-
-info stack (i s)        堆疊的回溯追蹤
-
-info swfs (i sw)        此工作階段中的 swf 清單
-
-info targets(i t)       正在除錯的應用程式
-
-info variables (i v)    所有全域和靜態變數名稱
-
-輸入「help info」,後面跟隨 info 子指令名稱以取得完整文件。
-
-
-
-[info arguments]
-
-
-
-顯示目前堆疊框架的引數。
-
-
-
-[info breakpoints]
-
-
-
-顯示所有中斷點和監視點的狀態。
-
-「類型」欄指示下列其中一項:
-
-   breakpoint   - 一般中斷點
-
-   watchpoint   - 監視點
-
-「處理」欄包含「keep」、
-
-   「del」或「dis」其中一項,用於指示到達中斷點後,對中斷點的處理方式。「dis」
-
-   代表將停用中斷點,「del」則代表將刪除中斷點。
-
-「Address」和「What」欄分別代表位址和檔案/行號。
-
-
-
-[info display]
-
-
-
-顯示自動顯示的運算式及其號碼的清單
-
-
-
-[info files]
-
-
-
-顯示正在除錯的應用程式檔案名稱和數目,包括原始檔案、架構檔案和自動產生的檔案。
-
-範例:
-
-  info files
-
-    依類別字母順序列出所有檔案
-
-  info files my
-
-  info files my*
-
-    依字母順序列出其名稱以「my」開頭的所有檔案。
-
-  info files *.as
-
-    依字母順序列出其名稱以「.as」結尾的所有檔案。
-
-  info files *foo*
-
-    依字母順序列出其名稱含有「foo」的所有檔案。
-
-檔案會以 name#N 格式顯示,其中 N 為檔案號碼。
-
-在許多指令中,您都可以使用 #N 取代檔案名稱。
-
-
-
-[info functions]
-
-
-
-顯示函數名稱。
-
-範例:
-
-  info functions .
-
-    顯示目前檔案中的所有函數。
-
-  info functions myapp.mxml
-
-    顯示 myapp.mxml 中的所有函數。
-
-  info functions #3
-
-    顯示檔案 #3 中的所有函數。
-
-  info functions
-
-    顯示所有檔案中的全部函數。
-
-若要查看檔案名稱和號碼,請執行「info sources」或「info files」。
-
-採用縮寫形式的檔案名稱若都很明確,則可以接受。
-
-
-
-[info handle]
-
-
-
-顯示 Flash Player 發生錯誤時,fdb 會執行的動作。
-
-範例:
-
-  info handle
-
-    顯示 fdb 處理所有錯誤的方式。
-
-  info handle recursion_limit
-
-    顯示 fdb 處理 recursion_limit 錯誤的方式。
-
-
-
-[info locals]
-
-
-
-顯示目前堆疊框架的區域變數。
-
-
-
-[info scopechain]
-
-
-
-顯示目前堆疊框架的範圍鏈結。範圍鏈結是 Flash Player 嘗試解決符號名稱時會搜尋的物
-
-件清單。
-
-
-
-[info sources]
-
-
-
-顯示正在除錯的應用程式原始檔案名稱和數目。架構檔案和自動產生的檔案不包括在內。
-
-檔案會以 name#N 格式顯示,其中 N 為檔案號碼。
-
-在許多指令中,您都可以使用 #N 取代檔案名稱。
-
-
-
-[info stack]
-
-
-
-堆疊的回溯追蹤。
-
-
-
-[info swfs]
-
-
-
-顯示除錯工作階段已知的 swf。如需如何根據 swf 名稱過濾檔案清單的詳細資訊,請參閱
-
-指令「viewswf」。
-
-
-
-[info targets]
-
-
-
-顯示正在除錯的應用程式的 URL (http: 或 file:)。
-
-
-
-[info variables]
-
-
-
-顯示所有全域和靜態變數名稱和值。
-
-
-
-[info ?]
-
-
-
-未定義的 info 指令。請嘗試使用「help info」。
-
-
-
-[kill]
-
-
-
-終止執行正在除錯的程式。
-
-此指令不使用任何引數。
-
-
-
-[list]
-
-
-
-列出原始檔案中的多行程式碼。
-
-範例:
-
-  list
-
-    列出目前檔案中上一個清單之後或前後的另外十行。
-
-  list -
-
-    列出目前檔案中上一個清單之前的十行。
-
-  list 87
-
-    列出目前檔案中第 87 行前後十行。
-
-  list 87 102
-
-    列出目前檔案中的第 87 到 102 行。
-
-除了使用如上的簡單行號以外,您還可以使用 7 種方式指定行:
-
-  doThis
-
-      目前檔案中的第 1 行函數 doThis()。
-
-   myapp.mxml
-
-      myapp.mxml 中的第 1 行。
-
-   myapp.mxml:doThat
-
-      myapp.mxml 中的第一行函數 doThat()。
-
-   myapp.mxml:56
-
-      myapp.mxml 中的第 56 行。
-
-   #3
-
-      檔案 #3 中的第 1 行。
-
-   #3:doOther
-
-      檔案 #3 中函數 Other() 開始所在的行。
-
-   #3:29
-
-      檔案 #3 中的第 29 行。
-
-若要查看檔案名稱和號碼,請執行「info sources」或「info files」。
-
-若要查看函數名稱,請執行「info functions」。
-
-採用縮寫形式的檔案名稱和函數名稱若都很明確,則可以接受。
-
-列出某個檔案時,會使該檔案成為目前的檔案。(請參閱「cf」指令。)
-
-
-
-[next]
-
-
-
-執行程式單步作業,將繼續執行所有副常式呼叫。
-
-  next
-
-    執行單步作業一次。
-
-  next 3
-
-    執行單步作業 3 次,或直到程式因其他原因而停止。
-
-只要副常式呼叫不發生,就跟「step」指令相同;如果發生,會將呼叫視為一個指示。
-
-
-
-[print]
-
-
-
-列印變數或運算式的值。
-
-範例:
-
-  print i
-
-    列印「i」的值。
-
-  print employee.name
-
-    列印「employee.name」的值。
-
-  print employee
-
-    列印「employee」物件的值。
-
-    這可能只會顯示類似 [Object 10378] 的內容。
-
-  print employee.
-
-    列印「employee」物件的所有屬性值。
-
-  print *employee
-
-    列印「employee」物件的所有屬性值。
-
-    前置 * 運算子是後置 . 運算子的前置替代項。
-
-  print #10378.
-
-    列印物件 #10378 的所有屬性值。
-
-可存取的變數是所選堆疊框架的語彙環境變數,加上範圍為全域或整個檔案的所有變數。
-
-
-
-[pwd]
-
-
-
-列印目前的工作目錄。
-
-此為從其啟動 fdb 的目錄;在 fdb 中無法加以變更。可相對於此目錄指定「run」和
-
-「source」的引數。
-
-此指令不使用任何引數。
-
-
-
-[quit]
-
-
-
-結束 fdb。
-
-此指令不使用任何引數。
-
-
-
-[run]
-
-
-
-開始除錯工作階段。
-
-範例:
-
-  run http://www.mysite.com/myapp.mxml
-
-    執行指定的 MXML 應用程式。
-
-  run myapp.swf
-
-  run mydir\myapp.swf
-
-  run c:\mydir\myapp.swf
-
-    執行本機 SWF 檔案 myapp.swf,可相對於目前目錄 (請參閱「pwd」指令) 或使用絕對
-
-    路徑指定該檔案。在許多情況下,myapp.swd (含有除錯資訊的檔案) 必須也存在於與
-
-	myapp.swf 相同的目錄中。
-
-  run
-
-    執行之前使用「file」指令所指定的應用程式。
-
-    如果未指定任何應用程式,fdb 會等待應用程式與之連線,如果沒有應用程式與之連線,
-
-    將會逾時。
-
-「run」將會在瀏覽器或獨立 Flash Play 中啟動應用程式。
-
-應用程式一啟動,就會進入 fdb,讓您可以設定中斷點等。
-
-
-
-在 Macintosh 上,唯一支援的指令格式為不加引數的「run」。您必須接著手動啟動
-
-Flash player。
-
-
-
-[set]
-
-
-
-設定變數或便利變數的值。
-
-便利變數是完全存在於 fdb 中的變數;不屬於您程式的一部分。
-
-便利變數的開頭是「$」,可以是與任何現有變數不衝突的任何名稱。例如,$myVar。便
-
-利變數也可用於控制 fdb 的各個層面。
-
-
-
-fdb 使用下列便利變數。
-
-$listsize          - 「list」顯示的來源行數
-
-$columnwrap        - 輸出將自動換行的欄號
-
-$infostackshowthis - 若為 0,在堆疊回溯追蹤中將不顯示「this」
-
-$invokegetters     - 若為 0,將阻止 fdb 啟動 getter 函數
-
-$bpnum             - 最後一個已定義的中斷點號碼
-
-$displayattributes - 若為 1,「print var.」會顯示「var」成員的所有屬性 (如
-
-                     private、static)
-
-
-
-範例:
-
-  set i = 3
-
-    將變數「i」設定為數字 3。
-
-  set employee.name = "Susan"
-
-    將變數「employee.name」設定為字串「Susan」。
-
-  set $myVar = 20
-
-    將便利變數「$myVar」設定為數字 20
-
-
-
-[show]
-
-
-
-用於顯示 fdb 狀態相關資訊的一般指令。
-
-show 子指令的清單:
-
-show break (sh b)       暫停的執行位置及原因
-
-show directories (sh d) 要搜尋原始檔案的目錄
-
-show files (sh f)       目標檔案和路徑
-
-show functions (sh fu)  函數行對應資訊
-
-show locations (sh l)   中斷點位置
-
-show memory (sh m)      目前的記憶體使用量
-
-show net (sh n)         播放程式訊息統計
-
-show properties (sh p)  屬性值
-
-show uri (sh u)         此工作階段的播放程式 URI
-
-show variable (sh v)    原始變數擷取
-
-輸入「help show」,後面接著 show 子指令名稱以取得完整文件。
-
-
-
-[show break]
-
-
-
-顯示 SWF 內程式中止位置的位移
-
-
-
-[show directories]
-
-
-
-顯示用於尋找原始檔案的目前搜尋路徑。
-
-
-
-[show files]
-
-
-
-顯示所有目標檔案的路徑和檔案名稱
-
-
-
-[show functions]
-
-
-
-顯示函數到行號的對應資訊。
-
-範例:
-
-  show functions .
-
-    顯示目前檔案中所有函數的對應資訊。
-
-  show functions myapp.mxml
-
-    顯示 myapp.mxml 中所有函數的對應資訊。
-
-  show functions #3
-
-    顯示檔案 #3 中所有函數的對應資訊。
-
-  show functions
-
-    顯示所有檔案中所有函數的對應資訊。
-
-若要查看檔案名稱和號碼,請執行「info sources」或「info files」。
-
-採用縮寫形式的檔案名稱若都很明確,則可以接受。
-
-
-
-[show locations]
-
-
-
-顯示針對每個中斷點所設定的位置清單。
-
-
-
-[show memory]
-
-
-
-顯示 Java VM 記憶體統計。
-
-
-
-[show net]
-
-
-
-顯示傳送至 Flash Player 及接收自 Flash Player 的訊息相關資訊。
-
-
-
-[show properties]
-
-
-
-顯示用於除錯程式中的便利變數清單
-
-
-
-[show uri]
-
-
-
-顯示播放程式針對此工作階段所傳送的 URI。
-
-
-
-[show variable]
-
-
-
-顯示變數成員的值。需要使用兩個參數;第一個是數值變數識別名稱,第二個是變數的屬性
-
-名稱。便利變數
-
-$invokegetters 用於決定屬性 getter (假定其存在時) 是否啟動。
-
-範例:
-
-    show variable 1 __proto__
-
-
-
-[show ?]
-
-
-
-未定義的 show 指令。請嘗試使用「help show」。
-
-
-
-[source]
-
-
-
-從檔案讀取 fdb 指令,並加以執行。
-
-  source mycommands.txt
-
-  source mydir\mycommands.txt
-
-  source c:\mydir\mycommands.txt
-
-    讀取 mycommands.txt 並在其中執行 fdb 指令。
-
-    您可以相對於目前目錄 (請參閱「pwd」指令) 或使用絕對路徑指定含有指令的檔案。
-
-啟動 fdb 時會自動以此方式讀取檔案 .fdbinit。
-
-僅會在目前的目錄中搜尋 .fdbinit。這意味著,您可以針對不同專案設定多個 .fdbinit 檔
-
-案。
-
-
-
-[step]
-
-
-
-執行程式單步作業,直到到達不同的來源行。
-
-範例:
-
-  step
-
-    執行單步作業一次。
-
-  step 3
-
-    執行單步作業 3 次,或直到程式因其他原因而停止。
-
-
-
-[tutorial]
-
-
-
-顯示如何使用 fdb 的教學課程。
-
-此指令不使用任何引數。
-
-
-
-[Tutorial]
-
-
-
-典型的 fdb 工作階段:
-
-使用「run」啟動應用程式。
-
-使用「info sources」檢視檔案名稱。
-
-使用「list」列出檔案。
-
-使用「break」設定中斷點。
-
-使用「continue」執行程式,直到到達中斷點為止。
-
-使用「where」、「print」或「info locals」檢查程式的狀態。
-
-使用「next」、「step」和「finish」執行個別陳述式。
-
-使用「continue」繼續執行。
-
-使用「quit」結束 fdb。
-
-
-
-[undisplay]
-
-
-
-移除一或多個自動顯示的運算式。
-
-範例:
-
-  undisplay
-
-    移除所有自動顯示的運算式。
-
-  undisplay 2 7
-
-    移除自動顯示的運算式 #2 和 #7。
-
-若要查看自動顯示的運算式及其號碼的清單,請執行「info display」。
-
-
-
-[up]
-
-
-
-選取並列印呼叫這一個項目的堆疊框架。
-
-後續的「info arguments」和「info locals」指令將顯示所選框架的區域函數和引數。
-
-請參閱「down」和「frame」
-
-
-
-[viewswf]
-
-
-
-根據 swf 名稱設定或清除檔案清單 (即「info files」和「info sources」) 的過濾器。
-
-若無任何參數,將會顯示所有檔案。如果一或多個 swf 中存在相同的檔案,清單只會顯示
-
-檔案的第一個實體。若要存取檔案的其它實體,請使用檔案號碼 (例如,「list #192」)
-
-或使用此指令搭配參數 (請參閱下文) 來顯示特定 swf 中的檔案。搭配單一參數,使用
-
-「info swfs」指令顯示 swf 名稱時,在檔案清單中只會顯示指定 swf 中的檔案。
-
-不會顯示其它 swf 中的檔案。此指令也會影響接受檔案作為參數 (例如,「break」) 的指
-
-令。例如:
-
-  viewswf myApp.mxml.swf
-
-    將僅顯示 myApp.mxml.swf 中的檔案。
-
-  viewswf
-
-    將顯示所有 swf 中的全部檔案。
-
-
-
-[watch]
-
-
-
-在指定變數上加入監視點。當變數值變更時,除錯程式將會中止執行。
-
-範例:
-
-  watch foo
-
-
-
-[what]
-
-
-
-顯示解析變數所在的上下文。
-
-
-
-[where]
-
-
-
-堆疊的回溯追蹤。
-
-
-
-[zzz]
-
-
-
-((( 將這個未使用的主題保留在檔案結尾處    )))
-
-((( 以便倒數第二個主題能正確剖析。)))
-
-
-

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/07f5a7de/debugger/src/main/java/flash/tools/ActionLocation.java
----------------------------------------------------------------------
diff --git a/debugger/src/main/java/flash/tools/ActionLocation.java b/debugger/src/main/java/flash/tools/ActionLocation.java
new file mode 100644
index 0000000..741644e
--- /dev/null
+++ b/debugger/src/main/java/flash/tools/ActionLocation.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package flash.tools;
+
+import flash.swf.types.ActionList;
+import flash.swf.actions.ConstantPool;
+import flash.swf.actions.DefineFunction;
+
+/**
+ * ActionLocation record.  Used to contain
+ * information regarding a specific location
+ * within an action record.  
+ * 
+ * at and actions are typically guaranteed to 
+ * be filled out.  The others are optional.
+ * @see SwfActionContainer
+ */
+public class ActionLocation
+{
+	public ActionLocation()						{ init(-1, null, null, null, null); }
+	public ActionLocation(ActionLocation base)	{ init(base.at, base.actions, base.pool, base.className, base.function); }
+
+	void init(int p1, ActionList p2, ConstantPool p3, String p4, DefineFunction p5)
+	{
+		at = p1;
+		actions = p2;
+		pool = p3;
+		className = p4;
+		function = p5;
+	}
+
+	public int				at = -1;
+	public ActionList		actions;
+	public ConstantPool		pool;
+	public String			className;
+	public DefineFunction	function;
+}
+

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/07f5a7de/debugger/src/main/java/flash/tools/SwfActionContainer.java
----------------------------------------------------------------------
diff --git a/debugger/src/main/java/flash/tools/SwfActionContainer.java b/debugger/src/main/java/flash/tools/SwfActionContainer.java
new file mode 100644
index 0000000..40053be
--- /dev/null
+++ b/debugger/src/main/java/flash/tools/SwfActionContainer.java
@@ -0,0 +1,295 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package flash.tools;
+
+import flash.swf.Action;
+import flash.swf.Header;
+import flash.swf.TagDecoder;
+import flash.swf.TagHandler;
+import flash.swf.Dictionary;
+import flash.swf.ActionConstants;
+import flash.swf.MovieMetaData;
+import flash.swf.tags.DefineButton;
+import flash.swf.tags.DoAction;
+import flash.swf.tags.DoInitAction;
+import flash.swf.tags.PlaceObject;
+import flash.swf.tags.DefineSprite;
+import flash.swf.types.ActionList;
+import flash.swf.types.ButtonCondAction;
+import flash.swf.types.ClipActionRecord;
+import flash.swf.actions.DefineFunction;
+import flash.swf.actions.ConstantPool;
+import flash.util.Trace;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Iterator;
+
+/**
+ * This class implements the TagHandler interface
+ * and provides a mechanism for containing the
+ * actions associated with a SWF.
+ */
+public class SwfActionContainer extends TagHandler
+{
+	boolean		errorProcessing = true;
+	ActionList	m_master;
+
+	// temporaries used while decoding
+	Dictionary  m_dictionary; 
+	Header		m_header;
+
+    public SwfActionContainer(byte[] swf, byte[] swd)	{ this(new ByteArrayInputStream(swf), new ByteArrayInputStream(swd));	}
+    public SwfActionContainer(InputStream swfIn)		{ this(swfIn, null); }
+
+    public SwfActionContainer(InputStream swfIn, InputStream swdIn)
+	{
+		TagDecoder p = new TagDecoder(swfIn, swdIn);
+		try
+		{
+			process(p);
+			errorProcessing = false;
+		}
+		catch(IOException io)
+		{
+			if (Trace.error)
+				io.printStackTrace();
+		}
+	}
+
+	// getters 
+	public ActionList	getMasterList() { return m_master; }
+	public Header		getHeader()		{ return m_header; }
+	public Dictionary	getDictionary() { return m_dictionary; }
+
+	// Did we hit an error in processing the swf? 
+	public boolean hasErrors() { return errorProcessing; }
+
+	/**
+	 * Ask a TagDecoder to do its magic, calling us 
+	 * upon each encounter of a new tag.
+	 */
+	void process(TagDecoder d) throws IOException
+	{
+		m_master = new ActionList(true);
+        d.setKeepOffsets(true);
+		d.parse(this);
+	}
+
+	/**
+	 * Return a path to an ActionList that contains the given offset
+	 * if an exact match is not found then return the largest
+	 * that does not exceed offset.
+	 */
+	public ActionLocation locationLessOrEqualTo(int offset)
+	{
+		ActionLocation l = new ActionLocation();
+		locationLessOrEqualTo(l, m_master, offset);
+		return l;
+	}
+
+    public static ActionLocation locationLessOrEqualTo(ActionLocation location, ActionList list, int offset)
+	{
+		int at = findLessOrEqualTo(list, offset);
+		if (at > -1)
+		{
+			// we hit so mark it and extract a constant pool if any
+			location.at = at;
+			location.actions = list;
+
+			Action a = list.getAction(0);
+			if (a.code == ActionConstants.sactionConstantPool)
+				location.pool = (ConstantPool)a;
+
+			// then see if we need to traverse
+			a = list.getAction(at);
+			if ( (a.code == ActionConstants.sactionDefineFunction) ||
+				 (a.code == ActionConstants.sactionDefineFunction2) )
+			{
+				location.function = (DefineFunction)a;
+				locationLessOrEqualTo(location, ((DefineFunction)a).actionList, offset);
+			}
+			else if (a instanceof DummyAction)
+			{
+				// our dummy container, then we drop in
+				locationLessOrEqualTo(location, ((DummyAction)a).getActionList(), offset);
+			}
+		}
+		return location;
+	}
+
+	// find the index of the largest offset in the list that does not
+	// exceed the offset value provided. 
+	public static int findLessOrEqualTo(ActionList list, int offset)
+	{
+		int i = find(list, offset);
+		if (i < 0)
+		{
+			// means we didn't locate it, so get the next closest one
+			// which is 1 below the insertion point
+			i = (-i - 1) - 1;
+		}
+		return i;
+	}
+
+	// perform a binary search to locate the offset within the sorted
+	// list of offsets within the action list.
+	// if no match then (-i - 1) provides the index of where an insertion
+	// would occur for this offset in the list.
+	public static int find(ActionList list, int offset)
+	{
+        int lo = 0;
+        int hi = list.size()-1;
+
+        while (lo <= hi)
+        {
+            int i = (lo + hi)/2;
+            int m = list.getOffset(i);
+            if (offset > m)
+                lo = i + 1;
+            else if (offset < m)
+                hi = i - 1;
+            else
+                return i; // offset found
+        }
+        return -(lo + 1);  // offset not found, low is the insertion point
+	}
+
+	/**
+	 * Dummy Action container for housing all of  our
+	 * topmost level actionlists in a convenient form
+	 */
+	public class DummyAction extends Action
+	{
+		public DummyAction(ActionList list)
+		{
+			super(ActionConstants.sactionNone);
+			m_actionList = list;
+		}
+
+		// getters/setters
+		public ActionList		getActionList()					{ return m_actionList; }
+		public String			getClassName()					{ return m_className; }
+		public void				setClassName(String name)		{ m_className = name; }
+
+		private ActionList		m_actionList;
+		private String			m_className;
+	}
+
+	/**
+	 * Store away the ActionLists for later retrieval
+	 */
+    DummyAction recordActions(ActionList list)
+    {
+		DummyAction da = null;
+		if (list != null && list.size() > 0)
+		{
+			// use the first offset as our reference point
+			int offset = list.getOffset(0);
+
+			// now create a pseudo action for this action list in our master
+			da = new DummyAction(list);
+			m_master.setActionOffset(offset, da);
+		}
+		return da;
+	}
+
+	/**
+	 * -----------------------------------------------
+	 * The following APIs override TagHandler.
+	 * -----------------------------------------------
+	 */
+	@Override
+	public void doInitAction(DoInitAction tag)
+	{
+		DummyAction a = recordActions(tag.actionList);
+
+		// now fill in the class name if we can
+		if (m_header.version > 6 && tag.sprite != null)
+		{
+			String __Packages = MovieMetaData.idRef(tag.sprite, m_dictionary);
+			String className = (__Packages != null && __Packages.startsWith("__Packages")) ? __Packages.substring(11) : null; //$NON-NLS-1$
+			a.setClassName(className);
+		}
+	}
+
+	@Override
+	public void doAction(DoAction tag)
+	{
+		recordActions(tag.actionList);
+	}
+
+
+	@Override
+	public void defineSprite(DefineSprite tag)
+	{
+		// @todo need to support actions in sprites!!! 
+	}
+
+	@Override
+	public void placeObject2(PlaceObject tag)
+	{
+		if (tag.hasClipAction())
+		{
+            Iterator it = tag.clipActions.clipActionRecords.iterator();
+            while (it.hasNext())
+            {
+    		    ClipActionRecord record = (ClipActionRecord) it.next();
+   			    recordActions(record.actionList);
+            }
+		}
+	}
+
+	@Override
+	public void defineButton(DefineButton tag)
+	{
+		recordActions(tag.condActions[0].actionList);
+	}
+
+	@Override
+	public void defineButton2(DefineButton tag)
+	{
+        if (tag.condActions.length > 0)
+        {
+            for (int i=0; i < tag.condActions.length; i++)
+            {
+                ButtonCondAction cond = tag.condActions[i];
+                recordActions(cond.actionList);
+            }
+		}
+	}
+
+	@Override
+	public void setDecoderDictionary(Dictionary dict)
+	{
+		m_dictionary = dict;
+	}
+
+	@Override
+	public void header(Header h)
+	{
+		m_header = h;
+	}
+
+	/**
+	 * -----------------------------------------------
+	 * END: override TagHandler.
+	 * -----------------------------------------------
+	 */
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/07f5a7de/debugger/src/main/java/flash/tools/debugger/AIRLaunchInfo.java
----------------------------------------------------------------------
diff --git a/debugger/src/main/java/flash/tools/debugger/AIRLaunchInfo.java b/debugger/src/main/java/flash/tools/debugger/AIRLaunchInfo.java
new file mode 100644
index 0000000..36d139b
--- /dev/null
+++ b/debugger/src/main/java/flash/tools/debugger/AIRLaunchInfo.java
@@ -0,0 +1,123 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package flash.tools.debugger;
+
+import java.io.File;
+
+/**
+ * @author mmorearty
+ */
+public class AIRLaunchInfo
+{
+	/**
+	 * Full path to the AIR Debug Launcher, <code>adl.exe</code> (Windows) or
+	 * <code>adl</code> (Mac/Linux).  This is mandatory.
+	 */
+	public File airDebugLauncher;
+
+	/**
+	 * The directory that has runtime.dll, or <code>null</code> to
+	 * use the default.
+	 */
+	public File airRuntimeDir;
+
+	/**
+	 * The filename of the security policy to use, or <code>null</code> to
+	 * use the default.
+	 */
+	public File airSecurityPolicy;
+
+	/**
+	 * The directory to specify as the application's content root, or
+	 * <code>null</code> to not tell ADL where the content root is, in which
+	 * case ADL will use the directory of the application.xml file as the
+	 * content root.
+	 */
+	public File applicationContentRootDir;
+
+	/**
+	 * Array of command-line arguments for the user's program. These are
+	 * specific to the user's program; they are not processed by AIR itself,
+	 * just passed on to the user's app.
+	 * <p>
+	 * Note, this class has both <code>applicationArgumentsArray</code> and
+	 * {@link #applicationArguments}. <code>applicationArgumentsArray</code>
+	 * accepts an array of arguments, and passes them down as-is to the
+	 * operating system. <code>applicationArguments</code> takes a single
+	 * string, splits it into arguments, and passes the result to the operating
+	 * system. You can use whichever one is more convenient for you; typically,
+	 * one of these would be <code>null</code>. If both are non-
+	 * <code>null</code>, then <code>applicationArgumentsArray</code> takes
+	 * precedence, and <code>applicationArguments</code> is ignored.
+	 */
+	public String[] applicationArgumentsArray;
+
+	/**
+	 * Command-line arguments for the user's program. These are specific to the
+	 * user's program; they are not processed by AIR itself, just passed on to
+	 * the user's app.
+	 * <p>
+	 * Note, see the comment above on {@link #applicationArgumentsArray}.
+	 */
+	public String applicationArguments;
+
+	/**
+	 * The publisher ID to use; passed to adl's "-pubid" option.  If
+	 * null, no pubid is passed to adl.
+	 */
+	public String airPublisherID;
+
+	/**
+	 * The profile to pass to AIR 2.0's "-profile" argument, or null to omit 
+	 * the "-profile" argument.
+	 */
+	public String profile;
+	
+	/**
+	 * The screensize argument to pass to AIR 2.0's "-screensize" option.
+	 * A colon separated string indicating width and height of the screen
+	 * in normal and fullscreen modes. Only relevant in the mobileDevice 
+	 * profile.
+	 */
+	public String screenSize;
+	
+	/**
+	 * The dpi argument to pass to AIR 2.5's "-xscreenDPI" option.
+	 * TODO: this is apparently only going to be used in 2.5
+	 */
+	public int dpi;
+	
+	/**
+	 * The version platform argument to pass to AIR's "-XversionPlatform"
+	 * option. This overrides the three characters in Capabilities.os only
+	 * for the runtime in the AIR SDK.
+	 */
+	public String versionPlatform;
+	
+	/**
+	 * Directory to load native extensions from. Corresponds to the
+	 * -extdir argument of ADL.
+	 */
+	public String extDir;
+
+	/**
+	 * Directory to load native extensions from for devices. Corresponds to the
+	 * -XdeviceExtDir argument of ADL.
+	 */
+	public String deviceExtDir;
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/07f5a7de/debugger/src/main/java/flash/tools/debugger/AlreadyActiveApplicationException.java
----------------------------------------------------------------------
diff --git a/debugger/src/main/java/flash/tools/debugger/AlreadyActiveApplicationException.java b/debugger/src/main/java/flash/tools/debugger/AlreadyActiveApplicationException.java
new file mode 100644
index 0000000..84432f6
--- /dev/null
+++ b/debugger/src/main/java/flash/tools/debugger/AlreadyActiveApplicationException.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package flash.tools.debugger;
+import java.io.IOException;
+
+/**
+ * AlreadyActiveApplicationException is thrown when run/debug the application while there is 
+ * an already running application. 
+ * Exception is detected with ADL exit code 1 (Successful invocation of an already running AIR application. ADL exits immediately.)
+ * 
+ * @author sakkus
+ */
+public class AlreadyActiveApplicationException extends IOException {
+	private static final long serialVersionUID = 0L;
+	
+	private boolean m_isDebugging;
+	
+	public AlreadyActiveApplicationException (String detailedMessage,boolean isDebugging)
+	{
+		super(detailedMessage);
+		m_isDebugging=isDebugging;
+	}
+	
+    @Override
+	public String getMessage()
+	{
+    	if(m_isDebugging) 	//DEBUGGING
+    		return Bootstrap.getLocalizationManager().getLocalizedTextString("maybeAlreadyRunningForDebug"); //$NON-NLS-1$
+    	else    			//RUNNING
+    		return Bootstrap.getLocalizationManager().getLocalizedTextString("maybeAlreadyRunningForRun"); //$NON-NLS-1$
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/07f5a7de/debugger/src/main/java/flash/tools/debugger/Bootstrap.java
----------------------------------------------------------------------
diff --git a/debugger/src/main/java/flash/tools/debugger/Bootstrap.java b/debugger/src/main/java/flash/tools/debugger/Bootstrap.java
new file mode 100644
index 0000000..ad0fea4
--- /dev/null
+++ b/debugger/src/main/java/flash/tools/debugger/Bootstrap.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package flash.tools.debugger;
+
+import flash.localization.LocalizationManager;
+import flash.tools.debugger.concrete.PlayerSessionManager;
+
+/**
+ * Entry point for access to the general API.  A debugger uses this
+ * class to gain access to a SessionManager from which debugging
+ * sessions may be controlled or initiated.
+ */
+public class Bootstrap
+{
+	static SessionManager m_mgr = null;
+	private static LocalizationManager m_localizationManager;
+
+	static
+	{
+        // set up for localizing messages
+        m_localizationManager = new LocalizationManager();
+        m_localizationManager.addLocalizer( new DebuggerLocalizer("flash.tools.debugger.djapi.") ); //$NON-NLS-1$
+	}
+
+	private Bootstrap () {}
+
+	public static SessionManager sessionManager()
+	{
+		if (m_mgr == null)
+			m_mgr = new PlayerSessionManager();
+		return m_mgr;
+	}
+
+	static LocalizationManager getLocalizationManager()
+	{
+		return m_localizationManager;
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/07f5a7de/debugger/src/main/java/flash/tools/debugger/Browser.java
----------------------------------------------------------------------
diff --git a/debugger/src/main/java/flash/tools/debugger/Browser.java b/debugger/src/main/java/flash/tools/debugger/Browser.java
new file mode 100644
index 0000000..7d64c02
--- /dev/null
+++ b/debugger/src/main/java/flash/tools/debugger/Browser.java
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package flash.tools.debugger;
+
+import java.io.File;
+
+/**
+ * Describes a web browser.
+ * 
+ * @author mmorearty
+ */
+public interface Browser
+{
+	/**
+	 * Indicates an unknown browser type.
+	 * 
+	 * @see #getType()
+	 */
+	public static final int UNKNOWN = 0;
+
+	/**
+	 * Indicates Internet Explorer.
+	 * 
+	 * @see #getType()
+	 */
+	public static final int INTERNET_EXPLORER = 1;
+
+	/**
+	 * Indicates Netscape Navigator.
+	 * 
+	 * @see #getType()
+	 */
+	public static final int NETSCAPE_NAVIGATOR = 2;
+
+	/**
+	 * Indicates Opera.
+	 * 
+	 * @see #getType()
+	 */
+	public static final int OPERA = 3;
+
+	/**
+	 * Indicates the Mozilla browser, but <i>not</i> Firefox.
+	 * 
+	 * @see #getType()
+	 */
+	public static final int MOZILLA = 4;
+
+	/**
+	 * Indicates Firefox.
+	 * 
+	 * @see #getType()
+	 */
+	public static final int MOZILLA_FIREFOX = 5;
+
+	/**
+	 * Returns what type of Player this is, e.g. <code>INTERNET_EXPLORER</code>, etc.
+	 */
+	public int getType();
+
+	/**
+	 * Returns the path to the web browser executable -- e.g. the path to
+	 * IExplore.exe, Firefox.exe, etc. (Filenames are obviously
+	 * platform-specific.)
+	 */
+	public File getPath();
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/07f5a7de/debugger/src/main/java/flash/tools/debugger/CommandLineException.java
----------------------------------------------------------------------
diff --git a/debugger/src/main/java/flash/tools/debugger/CommandLineException.java b/debugger/src/main/java/flash/tools/debugger/CommandLineException.java
new file mode 100644
index 0000000..247a92e
--- /dev/null
+++ b/debugger/src/main/java/flash/tools/debugger/CommandLineException.java
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package flash.tools.debugger;
+
+import java.io.IOException;
+
+/**
+ * Represents an error that occurred while invoking a command-line
+ * program.  Saves the text error message that was reported
+ * by the command-line program.
+ * 
+ * @author mmorearty
+ */
+public class CommandLineException extends IOException
+{
+	private static final long serialVersionUID = -5696392627123516956L;
+    
+    private String[] m_commandLine;
+	private String m_commandOutput;
+	private int m_exitValue;
+
+	/**
+	 * @param detailMessage
+	 *            the detail message, e.g. "Program failed" or whatever
+	 * @param commandLine
+	 *            the command and arguments that were executed, e.g.
+	 *            <code>{ "ls", "-l" }</code>
+	 * @param commandOutput
+	 *            the text error message that was reported by the command-line
+	 *            program. It is common for this message to be more than one
+	 *            line.
+	 * @param exitValue
+	 *            the exit value that was returned by the command-line program.
+	 */
+	public CommandLineException(String detailMessage, String[] commandLine, String commandOutput, int exitValue)
+	{
+		super(detailMessage);
+
+		m_commandLine = commandLine;
+		m_commandOutput = commandOutput;
+		m_exitValue = exitValue;
+	}
+
+	public String[] getCommandLine()
+	{
+		return m_commandLine;
+	}
+
+	/**
+	 * @return command line message, often multi-line, never <code>null</code>
+	 */
+	public String getCommandOutput()
+	{
+		return m_commandOutput;
+	}
+
+	/**
+	 * @return the exit value that was returned by the command-line program.
+	 */
+	public int getExitValue()
+	{
+		return m_exitValue;
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/07f5a7de/debugger/src/main/java/flash/tools/debugger/DebuggerLocalizer.java
----------------------------------------------------------------------
diff --git a/debugger/src/main/java/flash/tools/debugger/DebuggerLocalizer.java b/debugger/src/main/java/flash/tools/debugger/DebuggerLocalizer.java
new file mode 100644
index 0000000..b406a16
--- /dev/null
+++ b/debugger/src/main/java/flash/tools/debugger/DebuggerLocalizer.java
@@ -0,0 +1,102 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package flash.tools.debugger;
+
+import java.util.Locale;
+import java.util.Map;
+
+import flash.localization.ILocalizedText;
+import flash.localization.ILocalizer;
+import flash.localization.ResourceBundleLocalizer;
+
+/**
+ * An ILocalizer which does a couple of extra things:
+ * 
+ * <ol>
+ * <li> If the requested string is not found, rather than returning <code>null</code>, we
+ *      return a default string, to avoid a crash. </li>
+ * <li> We replace any "\n" with the current platform's newline sequence. </li>
+ * </ol>
+ * 
+ * @author mmorearty
+ */
+public class DebuggerLocalizer implements ILocalizer
+{
+	private ResourceBundleLocalizer m_resourceBundleLocalizer = new ResourceBundleLocalizer();
+	private String m_prefix;
+	public final static String m_newline = System.getProperty("line.separator"); //$NON-NLS-1$
+
+	public DebuggerLocalizer(String prefix)
+	{
+		m_prefix = prefix;
+	}
+
+	public ILocalizedText getLocalizedText(Locale locale, final String id)
+	{
+		// We hard-code our package name in here, so that callers can use
+		// a short string
+		ILocalizedText localizedText = m_resourceBundleLocalizer.getLocalizedText(locale, m_prefix + id);
+
+		// If no ILocalizedText was found, try English
+		if (localizedText == null && !Locale.getDefault().getLanguage().equals("en")) //$NON-NLS-1$
+		{
+			localizedText = m_resourceBundleLocalizer.getLocalizedText(Locale.ENGLISH, m_prefix + id);
+		}
+
+		// If still no ILocalizedText was found, create a default one
+		if (localizedText == null)
+		{
+			localizedText = new ILocalizedText()
+			{
+				public String format(Map parameters)
+				{
+					StringBuilder sb = new StringBuilder();
+					sb.append('!');
+					sb.append(id);
+					sb.append('!');
+					if (parameters != null && !parameters.isEmpty())
+					{
+						sb.append(' ');
+						sb.append(parameters.toString());
+					}
+					return sb.toString();
+				}
+			};
+		}
+
+		// If the current platform's newline sequence is something other
+		// than "\n", then replace all occurrences of "\n" with this platform's
+		// newline sequence.
+		if (m_newline.equals("\n")) //$NON-NLS-1$
+		{
+			return localizedText;
+		}
+		else
+		{
+			final ILocalizedText finalLocalizedText = localizedText;
+			return new ILocalizedText()
+			{
+				public String format(Map parameters)
+				{
+					String result = finalLocalizedText.format(parameters);
+					return result.replaceAll("\n", m_newline); //$NON-NLS-1$
+				}
+			};
+		}
+	}
+}