When using the debugger you have to be aware of some of its limitations. Most of them are caused by the
limitations of Smallworld's Virtual Machine itself.:
- Debugging is possible only for Smallworld™ CST 4.1 and higher.
- Debugger can be used only with methods, never with procedures or blocks of code.
- Debugger does not support multithreading. Thus two or more threads cannot be suspended on a single
breakpoint at the same time. If two or more threads are running only
the first will be suspended, the other ones will continue running.
- It is not recommended to save a session running in Debug mode to an image file.
- Breakpoint cannot be installed in the same line as result statement ( '>>' chevron). A quick
solution is to change '>>' into '_return'.
- Method's comment can be not restored after installing a breakpoint - it happens only
when the file has no '_package' definition. Moreover if a method is
located in a different file than the declaration of a class, '_package'
definition for this method should be the same as for the class.
- Loading Coverage Analyzer to the session running in Debug mode can cause the session to hang unless a specific patch is applied.
Only then, Coverage Analyzer can be safely loaded and used, but never on the same classes/methods as MDT Debugger.
- It is not recommended to simultaneously debug the same methods in MDT and Very Simple Debugger.
Breakpoints can get invalid during tool switches.
Stepping through the execution of Magik program