Skip to main content

"PRACTICE Stack Overflow" when using Break.Set < address > /CMD "DO script.cmm" /RESUME - Knowledgebase / PRACTICE - Lauterbach Support

"PRACTICE Stack Overflow" when using Break.Set < address > /CMD "DO script.cmm" /RESUME

This happens if the breakpoint is frequently hit. The /RESUME option re-starts the program execution after the script is launched, and do not wait for the end of the script execution. On the next breakpoint hit, the second script is started while the first one is still running. If the breakpoint is frequently hit and the number of parallel script executions exceeds a certain maximum, the error "PRACTICE Stack Overflow" is returned. To solve this problem, you can use one of the following solutions:

  • Remove the /RESUME option and inset a Go command at the end of the script. The execution will be resumed in this case at the end of the script. If the breakpoint is however hit too frequently, the "PRACTICE Stack Overflow" error can still occur.
  • Replace the DO command with single PRACTICE commands, i.e. instead of using

Break.Set < address >  /CMD "DO script.cmm" /RESUME

Use

Break.Set < address >  /CMD "" /CMD "" ... /RESUME
  • Replace the DO command with a JUMPTO inside a script, for example:

Break.Set < address >  /CMD "JUMPTO do_it"

STOP

do_it:
 ...
 Go
 STOP


Moreover, you can use as an alternative to the /CMD option the following inside a PRACTICE script:

Break.Set < address >

RePeaT
 (
   Go
   WAIT !STATE.RUN()
   < break handling >
 )





Helpful Unhelpful