Product Documentation
Cadence SKILL Development Reference
Product Version IC23.1, June 2023

stepend

stepend( 
[ x_stepN ] 
)

Description

Allows execution to proceed to the end of the nth enclosing form and displays its result. stepend cannot proceed past the end of the current function. This function only works if executed from within a break handler and if the code you want to step through was loaded under debugMode. See installDebugger.

Comparing step and stepend:

Arguments

x_stepN

Number of forms to step through.

Value Returned

None

Examples

Suppose /tmp/color.il defines function initColor:

(defun initColor (object)
(let ((colorList '(red green yellow)) color)
(setq color (concat (get object 'color)))
(if (memq color colorList)
(printf "color %s initialized" (get object 'name)))
)
)

Try this file in debugger:

installDebugger
=> t
1> (sstatus sourceTracing t) 
; Turns on sourceTracing to get line numbers
=> t
1>  load "/tmp/color.il"
=> t
1> (putprop 'object1 "green" 'color)
=> "green"
1> breakpt(initColor (entry (null object)) concat)
=> concat(initColor)
1> (initColor 'object1)
<<< Break >>> on calling concat with args ("green")
at line 3 in file /tmp/color.il
Debug 2> next
stopped at line 4 in file /tmp/color.il
before evaluating if(memq(color colorList) printf("color %s initialized"...
Debug 2> step
stopped at line 4 in file /tmp/color.il
before evaluating memq(color colorList)
Debug 2> stepend
stopped at line 4 in file /tmp/color.il
after evaluating memq(color colorList)
==> (green yellow)
Debug 2> stepend
stopped at line 5 in file /tmp/color.il
after evaluating get(object 'name)
==> nil

Related Topics

Debug Functions

step

stepout


Return to top
 ⠀
X