blob: 29915babb0b7f3057053aa3c1bb90ae782e433ab [file] [log] [blame]
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.
This file contains the text displayed by the 'help' command in fdb.
It is divided into "topics". For example, when an fdb user types
'help break', the [break] topic below is displayed.
The first and last lines of each topic should be blank.
They don't get displayed in fdb; they are here only
to make this file more easily readable.
Help text should be formatted to not wrap
when displayed on an 80-character-wide console.
The following line is 80 characters wide.
--------------------------------------------------------------------------------
[?]
Undefined command. Do just 'help' to see a list of all fdb commands.
[break]
Set breakpoint at specified line or function.
Examples:
break 87
Sets a breakpoint at line 87 of the current file.
break myapp.mxml:56
Sets a breakpoint at line 56 of myapp.mxml.
break #3:29
Sets a breakpoint at line 29 of file #3.
break doThis
Sets a breakpoint at function doThis() in the current file.
break myapp.mxml:doThat
Sets a breakpoint at function doThat() in file myapp.mxml.
break #3:doOther
Sets a breakpoint at function doOther() in file #3.
break
Sets a breakpoint at the current execution address in the
current stack frame. This is useful for breaking on return
to a stack frame.
To see file names and numbers, do 'info sources' or 'info files'.
To see function names, do 'info functions'.
Abbreviated file names and function names are accepted if unambiguous.
If line number is specified, break at start of code for that line.
If function is specified, break at start of code for that function.
See 'commands' and 'condition' for further breakpoint control.
[bt]
Backtrace of the stack.
[catch]
Halt when an exception is thrown. This only affects caught
exceptions -- that is, exceptions that are going to be handled
by a "catch" block. Uncaught exceptions always halt in the
debugger.
Use the "delete" command to delete a catchpoint.
Examples:
catch *
Halts when any exception is thrown.
catch ReferenceError
Halts whenever a ReferenceError is thrown, whether
caught or uncaught.
[cf]
Display the name and number of the current file
or change the current file.
Examples:
cf
Displays the name and number of the current file.
cf myapp.mxml
Changes the current file to myapp.mxml.
cf #29
Changes the current file to file #29.
To see file names and numbers, do 'info sources' or 'info files'.
Abbreviated file names are accepted if unambiguous.
Listing a file with 'list' also makes that file the current file.
[clear]
Clear breakpoint at specified line or function.
Examples:
clear 87
Clears the breakpoint at line 87 of the current file.
clear myapp.mxml:56
Clears the breakpoint at line 56 of myapp.mxml.
clear #3:29
Clears the breakpoint at line 29 of file #3.
clear doThis
Clears the breakpoint at function doThis() in the current file.
clear myapp.mxml:doThat
Clears the breakpoint at function doThat() in file myapp.mxml.
clear #3:doOther
Clears the breakpoint at function doOther() in file #3.
clear
Clears breakpoint of the current line in the current file.
To see file names and numbers, do 'info sources' or 'info files'.
To see function names, do 'info functions'.
Abbreviated file names and function names are accepted if unambiguous.
If line number is specified, all breakpoints in that line are cleared.
If function is specified, breakpoints at beginning of function are cleared.
[continue]
Continue execution after stopping at breakpoint.
This command takes no arguments.
[condition]
Specify breakpoint number N to break only if COND is true.
Usage is `condition N COND', where N is an integer and COND is an
expression to be evaluated whenever breakpoint N is reached.
[commands]
Set commands to be executed when a breakpoint is hit.
Give breakpoint number as argument after `commands`.
With no argument, the targeted breakpoint is the last one set.
The commands themselves follow starting on the next line.
Type a line containing "end" to indicate the end of them.
Give "silent" as the first line to make the breakpoint silent;
then no output is printed when it is hit, except what the commands print.
Example:
(fdb) commands
Type commands for when breakpoint 1 is hit, one per line.
End with a line saying just 'end'.
>w
>end
[connect]
Connect to the debugging player listening on a port.
The only player that currently listens for debug connections
is mobile specific, others always connect.
Examples:
connect
Connect to the debug player listening on port 7936.
connect 7938
Connect to the debug player listening on port 7938.
[delete]
Delete one or more breakpoints.
Examples:
delete
Deletes all breakpoints.
delete 2 5
Deletes breakpoints #2 and #5.
To see breakpoint numbers, do 'info breakpoints'.
[directory]
Modify the list of directories in which fdb searches for source files.
Examples:
directory
Restores list to the default, which is the directory in which the source
file was compiled into object code, followed by the current working
directory.
directory C:\MySource (Windows)
directory /MySource (Mac)
Adds the specified directory to the beginning of the list of directories
which will be searched for source. When looking for the source for class
mypackage.MyClass, for example, the debugger would look for both
C:\MySource\mypackage\MyClass.as and C:\MySource\MyClass.as.
directory C:\Dir1;C:\Dir2 (Windows -- use ';' as separator)
directory /Dir1:/Dir2 (Mac -- use ':' as separator)
Adds several directories to the beginning of the list of directories
which will be searched for source.
To see the current list, do 'show directories'.
[disable]
Disable one or more breakpoints or auto-display expressions.
Examples:
disable
disable breakpoints
Disables all breakpoints.
disable 2 5
disable breakpoints 2 5
Disables breakpoints #2 and #5.
disable display
Disables all auto-display expressions.
disable display 1 3
Disables auto-display expressions #1 and #3.
To see breakpoint numbers, do 'info breakpoints'.
To see auto-display expression numbers, do 'info display'.
[disassemble]
(ActionScript 2 only; not supported when debugging ActionScript 3)
Disassemble a specified portion of source code.
The default is the current listing line.
Arguments supported are the same as with the list command
Examples:
disassemble 87
Disassembles line 87 in the current file.
disassemble 87 102
disassembles lines 87 to 102 in current file.
disassemble doThis
Disassembles the function doThis() in the current file.
In addition to using simple line numbers as above, you can specify lines
in additional ways:
myapp.mxml
Line 1 in myapp.mxml.
myapp.mxml:doThat
The first line of function doThat() in myapp.mxml.
myapp.mxml:56
Line 56 in myapp.mxml.
#3
Line 1 in file #3.
#3:doOther
The line in file #3 where the function doOther() begins.
#3:29
Line 29 in file #3.
[display]
Add an expression to the list of auto-display expressions.
Example:
display employee.name
Add 'employee.name' to the list of auto-display expressions.
Every time fdb stops, the value of employee.name will be displayed.
The argument for this command is similar to that for 'print'.
To see the list of auto-display expressions and their numbers,
do 'info display'.
[down]
Select and print stack frame called by this one.
Subsequent 'info arguments' and 'info locals' commands will display
the locals and arguments of the selected frame.
See 'up' and 'frame'
[enable]
Enable one or more breakpoints or auto-display expressions.
Examples:
enable
enable breakpoints
Enables all breakpoints.
enable 2 5
enable breakpoints 2 5
Enables breakpoints #2 and #5.
enable display
Enables all auto-display expressions.
enable display 1 3
Enables auto-display expressions #1 and #3.
To see breakpoint numbers, do 'info breakpoints'.
To see auto-display expression numbers, do 'info display'.
[file]
Specify an application to be debugged, without starting it.
Examples:
file http://www.mysite.com/myapp.mxml
Specify an MXML application to be debugged.
file myapp.swf
Specify a local SWF file to be debugged, in the current directory.
In this case myapp.swd (the file containing the debugging information)
must also exist in the current directory.
This command does not actually cause the application to start;
use the 'run' command with no argument to start debugging the application.
Instead of using 'file <target>' and then 'run', you can simply specify the
application to be debugged as an argument of 'run':
run http://mysite.com/myapp.mxml
run myapp.swf
You can also specify the application to be debugged
as a command-line argument when you start fdb:
fdb http://www.mysite.com/myapp.mxml
fdb myapp.swf
In this case you do not need to use either 'file' or 'run'.
If you 'run' without specifying an application to debug,
fdb will wait for any application to connect to it.
[finish]
Execute until current function returns.
This command takes no arguments.
[frame]
Select and print a particular stack frame.
This command takes an optional argument, a frame number.
If no argument is provided default is to return
to the current top frame (i.e. frame 0).
Examples:
frame 4
frame
Subsequent 'info arguments' and 'info locals' commands will display
the locals and arguments of the selected frame.
See 'up' and 'down' and 'bt'
[handle]
Specify how fdb should handle a fault in the Flash Player.
Examples:
handle recursion_limit stop
When a recursion_limit fault occurs, display message in fdb
and stop as if at breakpoint.
handle all print nostop
When any kind of fault occurs, display message in fdb but don't stop.
First argument is a fault name or 'all'.
Additional arguments are actions that apply to that fault.
To see fault names, do 'info handle'.
Actions are print/noprint and stop/nostop.
'print' means print a message if this fault happens.
'stop' means reenter debugger if this fault happens. Implies 'print'.
[help]
New to fdb? Do 'tutorial' for basic info.
List of fdb commands:
bt (bt) Print backtrace of all stack frames
break (b) Set breakpoint at specified line or function
catch (ca) Halt when an exception is thrown
cf (cf) Display the name and number of the current file
clear (cl) Clear breakpoint at specified line or function
condition (cond) Apply/remove conditional expression to a breakpoint
connect (con) Connect to debug player
continue (c) Continue execution after stopping at breakpoint
commands (com) Sets commands to execute when breakpoint hit
delete (d) Delete breakpoints or auto-display expressions
directory (dir) Add a directory to the search path for source files
disable (disab) Disable breakpoints or auto-display expressions
disassemble (disas) Disassemble source lines or functions
display (disp) Add an auto-display expressions
enable (e) Enable breakpoints or auto-display expressions
file (fil) Specify application to be debugged.
finish (f) Execute until current function returns
handle (han) Specify how to handle a fault
help (h) Display help on fdb commands
home (ho) Set listing location to where execution is halted
info (i) Display information about the program being debugged
kill (k) Kill execution of program being debugged
list (l) List specified function or line
next (n) Step program
print (p) Print value of variable EXP
pwd (pw) Print working directory
quit (q) Exit fdb
run (r) Start debugged program
set (se) Set the value of a variable
source (so) Read fdb commands from a file
step (s) Step program until it reaches a different source line
tutorial (t) Display a tutorial on how to use fdb
undisplay (u) Remove an auto-display expression
viewswf (v) Set or clear filter for file listing based on swf
watch (wa) Add a watchpoint on a given variable
what (wh) Displays the context of a variable
where (w) Same as bt
Type 'help' followed by command name for full documentation.
[home]
Set the listing location to where execution is halted.
[info]
Generic command for showing things about the program being debugged.
List of info subcommands:
info arguments (i a) Argument variables of current stack frame
info breakpoints (i b) Status of user-settable breakpoints
info display (i d) Display list of auto-display expressions
info files (i f) Names of targets and files being debugged
info functions (i fu) All function names
info handle (i h) How to handle a fault
info locals (i l) Local variables of current stack frame
info scopechain (i sc) Scope chain of current stack frame
info sources (i so) Source files in the program
info stack (i s) Backtrace of the stack
info swfs (i sw) List of swfs in this session
info targets(i t) Application being debugged
info variables (i v) All global and static variable names
Type 'help info' followed by info subcommand name for full documentation.
[info arguments]
Display arguments of current stack frame.
[info breakpoints]
Display status of all breakpoints and watchpoints.
The Type column indicates one of:
breakpoint - normal breakpoint
watchpoint - watchpoint
The Disp column contains one of 'keep', 'del', or 'dis' to indicate
the disposition of the breakpoint after it gets hit. 'dis' means that the
breakpoint will be disabled, while 'del' means it will be deleted.
The 'Address' and 'What' columns indicate the address and file/line
number respectively.
[info display]
Display list of auto-display expressions and their numbers.
[info files]
Display names and numbers of the files for the application being debugged,
including source files, framework files and autogenerated files.
Examples:
info files
Lists all files, alphabetically by category
info files my
info files my*
Lists all files whose names start with "my", alphabetically.
info files *.as
Lists all files whose names end with ".as", alphabetically.
info files *foo*
Lists all files whose names contain "foo", alphabetically.
Files are displayed in name#N format, where N is the file number.
In many commands you can use #N in place of a file name.
[info functions]
Display function names.
Examples:
info functions .
Display all functions in the current file.
info functions myapp.mxml
Display all functions in myapp.mxml.
info functions #3
Displays all functions in file #3.
info functions
Displays all functions in all files.
To see file names and numbers, do 'info sources' or 'info files'.
Abbreviated file names are accepted if unambiguous.
[info handle]
Display what fdb does when a fault occurs in the Flash Player.
Examples:
info handle
Display how fdb handles all faults.
info handle recursion_limit
Display how fdb handles a recursion_limit fault.
[info locals]
Dislpay local variables of current stack frame.
[info scopechain]
Display the scope chain of the current stack frame. The scope chain is
the list of objects that is searched when the Flash player is trying
to resolve a symbol name.
[info sources]
Display names and numbers of the source files for the application being
debugged. Framework files and autogenerated files are not included.
Files are displayed in name#N format, where N is the file number.
In many commands you can use #N in place of a file name.
[info stack]
Backtrace of the stack.
[info swfs]
Display swfs that are known to the debugging session. See
the command 'viewswf' for details on how the file listing
can be filtered based on swf name.
[info targets]
Display the URL (http: or file:) of the application being debugged.
[info variables]
Display all global and static variable names and values.
[info ?]
Undefined info command. Try 'help info'.
[kill]
Kill execution of program being debugged.
This command takes no arguments.
[list]
List lines of code in a source file.
Examples:
list
Lists ten more lines in current file after or around previous listing.
list -
Lists the ten lines in current file before a previous listing.
list 87
Lists ten lines in current file around line 87.
list 87 102
Lists lines 87 to 102 in current file.
In addition to using simple line numbers as above, you can specify lines
in seven additional ways:
doThis
The first line of function doThis() in the current file.
myapp.mxml
Line 1 in myapp.mxml.
myapp.mxml:doThat
The first line of function doThat() in myapp.mxml.
myapp.mxml:56
Line 56 in myapp.mxml.
#3
Line 1 in file #3.
#3:doOther
The line in file #3 where the function doOther() begins.
#3:29
Line 29 in file #3.
To see file names and numbers, do 'info sources' or 'info files'.
To see function names, do 'info functions'.
Abbreviated file names and function names are accepted if unambiguous.
Listing a file makes that file the current file. (See 'cf' command.)
[next]
Step program, proceeding through subroutine calls.
next
Step once.
next 3
Step 3 times, or until the program stops for another reason.
Like the 'step' command as long as subroutine calls do not happen;
when they do, the call is treated as one instruction.
[print]
Print value of variable or expression.
Examples:
print i
Print the value of 'i'.
print employee.name
Print the value of 'employee.name'.
print employee
Print the value of the 'employee' Object.
This may simplay display something like [Object 10378].
print employee.
Print the values of all the properties of the 'employee' Object.
print *employee
Print the values of all the properties of the 'employee' Object.
The prefix * operator is the prefix alternative to the postfix . operator.
print #10378.
Print the values of all the properties of Object #10378.
Variables accessible are those of the lexical environment of the selected
stack frame, plus all those whose scope is global or an entire file.
[pwd]
Print the current working directory.
This is the directory from which fdb was launched; it cannot be
changed within fdb. The argument for 'run' and 'source' can be
specified relative to this directory.
This command takes no arguments.
[quit]
Exit fdb.
This command takes no arguments.
[run]
Start a debugging session.
Examples:
run http://www.mysite.com/myapp.mxml
Runs the specified MXML application.
run myapp.swf
run mydir\myapp.swf
run c:\mydir\myapp.swf
Runs the local SWF file myapp.swf, which can be specified
either relative to the current directory (see 'pwd' command)
or using an absolute path. In these cases, myapp.swd
(the file containing the debugging information) must also
exist in the same directory as myapp.swf.
run
Run the application previously specified by the 'file' command.
If no application has been specified, fdb will wait for one
to connect to it, and time out if none does so.
'run' will start the application in a browser or standalone Flash Player.
As soon as the application starts, it will break into fdb so that you can
set breakpoints, etc.
On the Macintosh, the only supported form of the command is 'run' with no
arguments. You must then manually launch the Flash player.
[set]
Set the value of a variable or a convenience variable.
Convenience variables are variables that exist entirely
within fdb; they are not part of your program.
Convenience variables are prefixed with '$' and can
be any name that does not conflict with any existing
variable. For example, $myVar. Convenience variables
are also used to control various aspects of fdb.
The following convenience variables are used by fdb.
$listsize - number of source lines to display for 'list'
$columnwrap - column number on which output will wrap
$infostackshowthis - if 0, does not display 'this' in stack backtrace
$invokegetters - if 0, prevents fdb from firing getter functions
$bpnum - the last defined breakpoint number
$displayattributes - if 1, 'print var.' displays all attributes of members
of 'var' (e.g. private, static)
Examples:
set i = 3
Sets the variable 'i' to the number 3.
set employee.name = "Susan"
Sets the variable 'employee.name' to the string "Susan".
set $myVar = 20
Sets the convenience variable '$myVar' to the number 20
[show]
Generic command for showing things about the state of fdb.
List of show subcommands:
show break (sh b) Suspended execution location and reason
show directories (sh d) Directories to be searched for source files
show files (sh f) Target files and paths
show functions (sh fu) Function line mapping information
show locations (sh l) Breakpoint locations
show memory (sh m) Current memory usage
show net (sh n) Player message statistics
show properties (sh p) Values of properties
show uri (sh u) Player's URI for this session
show variable (sh v) Raw variable retrieval
Type 'help show' followed by show subcommand name for full documentation.
[show break]
Display the offset within the SWF on which the program has halted
[show directories]
Display current search path for finding source files.
[show files]
Display path and file name for all of the target files
[show functions]
Display function-to-line-number mapping information.
Examples:
show functions .
Shows mapping information for all functions in the current file.
show functions myapp.mxml
Shows mapping information for all functions in myapp.mxml.
show functions #3
Shows mapping information for all functions in file #3.
show functions
Shows mapping information for all functions in all files.
To see file names and numbers, do 'info sources' or 'info files'.
Abbreviated file names are accepted if unambiguous.
[show locations]
Displays the list of locations that are set for each breakpoint
[show memory]
Display Java VM memory statistics.
[show net]
Display information about messages that have been sent to,
and received from, the Flash Player.
[show properties]
Displays a list of convenience variables used within debugger
[show uri]
Display the URI that the player has sent for this session.
[show variable]
Display the value of a members of a variable. Two parameters are
required; the first is the numeric variable identifier, the second
is the name of property on the variable. The convenience variable
$invokegetters is used to determine whether the property getter,
assuming it exists, will be fired or not.
Example:
show variable 1 __proto__
[show ?]
Undefined show command. Try 'help show'.
[source]
Read fdb commands from a file and execute them.
source mycommands.txt
source mydir\mycommands.txt
source c:\mydir\mycommands.txt
Reads mycommands.txt and executes the fdb commands in it.
The file containing the commands can be specified either
relative to the current directory (see 'pwd' command)
or using an absolute path.
The file .fdbinit is read automatically in this way when fdb is started.
Only the current directory is searched for .fdbinit. This means that
you can have set up multiple .fdbinit files for different projects.
[step]
Step program until it reaches a different source line.
Examples:
step
Step once.
step 3
Step 3 times, or until the program stops for another reason.
[tutorial]
Display a tutorial on how to use fdb.
This command takes no arguments.
[Tutorial]
A typical fdb session:
Start an application with 'run'.
View file names with 'info sources'.
List a file with 'list'.
Set breakpoints with 'break'.
Execute program with 'continue' until a breakpoint is hit.
Examine state of program with 'where', 'print', 'info locals'.
Execute individual statements with 'next', 'step', and 'finish'.
Resume execution with 'continue'.
Quit fdb with 'quit'.
[undisplay]
Remove one or more auto-display expressions.
Examples:
undisplay
Remove all auto-display expressions.
undisplay 2 7
Remove auto-display expressions #2 and #7.
To see the list of auto-display expressions and their numbers,
do 'info display'.
[up]
Select and print stack frame that called this one.
Subsequent 'info arguments' and 'info locals' commands will display
the locals and arguments of the selected frame.
See 'down' and 'frame'
[viewswf]
Sets or clears filter for file listing (i.e. 'info files'
and 'info sources'), based on swf name.
Without any parameters, all files will be shown. If the same
file exists in one or more swfs, the listing will only display
the first instance of the file. To access other instances
of the file, use the file's number (e.g. 'list #192') or
use this command with a parameter (see below) to display files
from a specific swf. With a single parameter, the swf name
as displayed by the 'info swfs' command, only the files from
the specified swf will be displayed in the file listing.
Files from other swfs will not be shown. This command also
affects commands that accept a file as a parameter (e.g. 'break')
Example:
viewswf myApp.mxml.swf
Only files from myApp.mxml.swf will be displayed.
viewswf
All files from all swfs will be displayed.
[watch]
Add a watchpoint on a given variable. The debugger will halt
execution when the variable's value changes.
Example:
watch foo
[what]
Displays the context in which a variable is resolved.
[where]
Backtrace of the stack.
[zzz]
((( Keep this unused topic at the end of the file )))
((( so that the next-to-last one is parsed properly. )))