- This wiki is out of date, use the continuation of this wiki instead
Fenix console
From FenixWiki
Revision as of 19:38, 5 April 2008 (edit) Sandman (Talk | contribs) m ← Previous diff |
Current revision (21:25, 5 April 2008) (edit) (undo) Sandman (Talk | contribs) |
||
(One intermediate revision not shown.) | |||
Line 8: | Line 8: | ||
To use the debugger, run in debug mode by compiling your program in FXC.exe with the argument "-g", and then activate it in-program with ALT+C. | To use the debugger, run in debug mode by compiling your program in FXC.exe with the argument "-g", and then activate it in-program with ALT+C. | ||
+ | == Commands == | ||
+ | === Process Info === | ||
+ | =====INSTANCES===== | ||
+ | List all running [[process]]es in a tree view. It shows what processes a processes called. | ||
+ | =====GLOBALS===== | ||
+ | List all [[global variable]]s with their current values. Both predefined and user defined variables are listed. | ||
+ | =====LOCALS <processName|processID>===== | ||
+ | List all [[local variable]]s of the specified process. The process can be specified by either its name or its [[processID]]. Both predefined and user defined variables are listed. | ||
+ | =====PRIVATES <processName|processID>===== | ||
+ | List all [[local variable]]s of the specified process. The process can be specified by either its name or its [[processID]]. | ||
+ | =====PUBLICS <processName|processID>===== | ||
+ | List all [[local variable]]s of the specified process. The process can be specified by either its name or its [[processID]]. | ||
+ | |||
+ | === Debugging Commands === | ||
+ | =====TRACE===== | ||
+ | Execute the next instruction. | ||
+ | =====BREAK===== | ||
+ | List all set breakpoints. | ||
+ | =====BREAK <processName|processID>===== | ||
+ | Add a breakpoint on the execution of the specified process. The process can be specified by either its name or its [[processID]]. | ||
+ | =====DELETE===== | ||
+ | Delete a breakpoint on the execution of the specified process. The process can be specified by either its name or its [[processID]]. | ||
+ | =====CONTINUE===== | ||
+ | Continue the execution (close the console). | ||
+ | =====DOFRAME===== | ||
+ | Execute the next frame. | ||
+ | |||
+ | === Misc === | ||
+ | =====SHOW <expression>===== | ||
+ | Evaluate and show the specified expression. | ||
+ | =====STRINGS===== | ||
+ | List all strings in memory and how many times they are used. | ||
+ | =====VARS===== | ||
+ | List all internal variables. | ||
+ | =====QUIT===== | ||
+ | Kill the program and exit. | ||
+ | |||
+ | === Process Management === | ||
+ | See [[signals]] for further explanation about the following signaling commands. | ||
+ | =====RUN <processName> [<argument>]===== | ||
+ | Start a process with optional arguments. | ||
+ | =====KILL <processName|processID>===== | ||
+ | Kill the specified process. The process can be specified by either its name or its [[processID]]. | ||
+ | =====WAKEUP <processName|processID>===== | ||
+ | Wake up the specified process. The process can be specified by either its name or its [[processID]]. | ||
+ | =====SLEEP <processName|processID>===== | ||
+ | Put the specified process to sleep. The process can be specified by either its name or its [[processID]]. | ||
+ | =====FREEZE <processName|processID>===== | ||
+ | Freeze the specified process. The process can be specified by either its name or its [[processID]]. | ||
+ | =====KILLALL <processName|processID>===== | ||
+ | If a processname is specified, kill all processes with that name; if a processID is specified, only kill that process. | ||
+ | =====WAKEUPALL <processName|processID>===== | ||
+ | If a processname is specified, wake up all processes with that name; if a processID is specified, only wake up that process. | ||
+ | =====SLEEPALL <processName|processID>===== | ||
+ | If a processname is specified, put all processes with that name to sleep; if a processID is specified, only put that process to sleep. | ||
+ | =====FREEZEALL <processName|processID>===== | ||
+ | If a processname is specified, freeze all processes with that name; if a processID is specified, only freeze that process. | ||
+ | |||
+ | === Expressions === | ||
+ | You can evaluate free expressions and see/alter the values of variables. | ||
+ | =====<variable> [= <value>]===== | ||
+ | Return or alter a global variable. | ||
+ | =====<processName|processID>.<variable> [= <value>]===== | ||
+ | If a processID is specified, the value of the local, private or public variable of that process is returned or altered. If a processName is specified, the process with that name and the lowest ID is assumed. | ||
== Example == | == Example == | ||
<pre> | <pre> | ||
Line 21: | Line 85: | ||
| caption = A default console without messages | | caption = A default console without messages | ||
}} | }} | ||
+ | |||
+ | |||
+ | {{Debugging}} |
Current revision
The Fenix console is a handy debugging tool. Many commands can be entered in it, like process manipulation or variable manipulation. The current state of Globals, Constants, Locals, Publics, Privates can also be monitored. One can add text to it in the programcode by using the function say().
In the later Fenix versions (from which version exactly?) the Fenix console freezes the program when activated, until it is deactivated again.
To use the debugger, run in debug mode by compiling your program in FXC.exe with the argument "-g", and then activate it in-program with ALT+C.
[edit] Commands
[edit] Process Info
[edit] INSTANCES
List all running processes in a tree view. It shows what processes a processes called.
[edit] GLOBALS
List all global variables with their current values. Both predefined and user defined variables are listed.
[edit] LOCALS <processName|processID>
List all local variables of the specified process. The process can be specified by either its name or its processID. Both predefined and user defined variables are listed.
[edit] PRIVATES <processName|processID>
List all local variables of the specified process. The process can be specified by either its name or its processID.
[edit] PUBLICS <processName|processID>
List all local variables of the specified process. The process can be specified by either its name or its processID.
[edit] Debugging Commands
[edit] TRACE
Execute the next instruction.
[edit] BREAK
List all set breakpoints.
[edit] BREAK <processName|processID>
Add a breakpoint on the execution of the specified process. The process can be specified by either its name or its processID.
[edit] DELETE
Delete a breakpoint on the execution of the specified process. The process can be specified by either its name or its processID.
[edit] CONTINUE
Continue the execution (close the console).
[edit] DOFRAME
Execute the next frame.
[edit] Misc
[edit] SHOW <expression>
Evaluate and show the specified expression.
[edit] STRINGS
List all strings in memory and how many times they are used.
[edit] VARS
List all internal variables.
[edit] QUIT
Kill the program and exit.
[edit] Process Management
See signals for further explanation about the following signaling commands.
[edit] RUN <processName> [<argument>]
Start a process with optional arguments.
[edit] KILL <processName|processID>
Kill the specified process. The process can be specified by either its name or its processID.
[edit] WAKEUP <processName|processID>
Wake up the specified process. The process can be specified by either its name or its processID.
[edit] SLEEP <processName|processID>
Put the specified process to sleep. The process can be specified by either its name or its processID.
[edit] FREEZE <processName|processID>
Freeze the specified process. The process can be specified by either its name or its processID.
[edit] KILLALL <processName|processID>
If a processname is specified, kill all processes with that name; if a processID is specified, only kill that process.
[edit] WAKEUPALL <processName|processID>
If a processname is specified, wake up all processes with that name; if a processID is specified, only wake up that process.
[edit] SLEEPALL <processName|processID>
If a processname is specified, put all processes with that name to sleep; if a processID is specified, only put that process to sleep.
[edit] FREEZEALL <processName|processID>
If a processname is specified, freeze all processes with that name; if a processID is specified, only freeze that process.
[edit] Expressions
You can evaluate free expressions and see/alter the values of variables.
[edit] <variable> [= <value>]
Return or alter a global variable.
[edit] <processName|processID>.<variable> [= <value>]
If a processID is specified, the value of the local, private or public variable of that process is returned or altered. If a processName is specified, the process with that name and the lowest ID is assumed.
[edit] Example
Process Main() Begin Repeat frame; Until(key(_ESC)) End
|
Debugging | |
Debugging • Fenix console • Fenix profiler |