fish debug
command
Syntax
- fish debug s keyword
Launch the FISH function s in debug mode. Debugging is discussed FISH Debugging. [CS: given its prevalence in the below, a introduction/definition of the term pseudo-code (or possibly a glossary entry for it) might be nice]
- break keyword ...
This function sets and clears breakpoints in a number of ways. A breakpoint is set in a pseudo-code object, and causes FISH to stop before the object is executed, and to provide the
Debug>
prompt. Note that breakpoints only function in debug mode.- clear
Remove all breakpoints from all pseudo-code objects.
- code <i > b
Set or clear a breakpoint at a pseudo-code object with ID number i. If i is not specified, then the current pseudo-code object is used.
- fish b
Set or clear a breakpoint at the first pseudo-code object in the FISH function.
- codeinto
Execute a single pseudo-code object. If a function call is made in that object, then execution is stopped at the start of that function.
- codeover
Execute a single pseudo-code object, and execution is not stopped if a function call is made in that object.
- codeto i
Execute until the pseudo-code object with ID i is about to be executed. If that object is never reached, then the original function call will end, as will the debugging mode.
- lineinto
Execute all pseudo-code objects originating from the current source line, and stop when the next pseudo-code object would have originated from the next line. If a function call is made, the debugger stops upon entry to that function.
- lineover
Execute all pseudo-code objects originating from the current source line, and stop when the next pseudo-code object originates from the next line. It does not stop if function calls that cause code to be executed in other functions are made.
- lineto i
Execute until code originating from the current source file at line i is reached. If that line is never reached, then the original function call will end, as will the debugging mode.
- list keyword ...
- call
Output the current call stack. For instance, if function fred calls function george, and execution is halted in function george, the call stack will read:
fred george
- code <i1 > <i2 >
Output the pseudo-code object with ID i1; or if i1 is not specified, output the pseudo-code object that will be executed next. If i2 is specified, the pseudo-code from i1 to i2 is to be output.
- fish
Output the current value of FISH symbol fish. The leading @ symbol is not necessary here, but it will be accepted. If the symbol is a function, it will not be executed; instead, its current value will be used.
- register
Output the current contents of the register. The register is used to store FISH values that are going to be passed as arguments to FISH intrinsics, used for array access, or passed as arguments to functions.
- source <i1 > <i2 >
Output the line from the source file that was used to create the FISH function. If the source file is unavailable, an error will occur. If i1 is not specified, then the line corresponding to the current execution point is used. If i2 is specified, then lines from i1 to i2 are output.
- stack
The current contents of the stack are output. The stack is used to store local variables and arguments during function execution. At present, the names of stack variables are not available.
- run
Continue execution until a breakpoint is reached, or until the original function ends.
Was this helpful? ... | 3DEC © 2019, Itasca | Updated: Feb 25, 2024 |