This wiki is out of date, use the continuation of this wiki instead

Fenix console

From FenixWiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 01:11, 26 November 2007 (edit)
Sandman (Talk | contribs)

← Previous diff
Current revision (21:25, 5 April 2008) (edit) (undo)
Sandman (Talk | contribs)

 
(3 intermediate revisions not shown.)
Line 1: Line 1:
[[Category:general]] [[Category:general]]
 +[[Category:debugging]]
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]](). 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]]().
Line 7: 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>
-Program example;+Process Main()
Begin Begin
Repeat Repeat
Line 20: 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.

Contents

[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
Image:Console.PNG
A default console without messages


Debugging
DebuggingFenix consoleFenix profiler
Personal tools