Test, Debug, Deploy

User Guide ›› Brief Overview ››
Parent Previous Next

Test, Debug, Deploy.

Once the bytecode is compiled, it can be tested and debugged before being deployed.

In the Compile Menu of the main menu you'll find the test bench and the debugger. These tools are an integrated part of the IDE.

Test Execution.

The SCRAMBLECODE test bench makes is possible to test the compiled bytecode without having to involve your host application.

You can use this tool to create a VM that loads and executes your bytecode.

The VM can be given lots of input data, and the produced results can be reported back on screen. You can even specify different test scenarios, providing each test-case with their own set of input data, and it is easy to switch back and forth between these multiple test scenarios.

The specified test-cases can be assembled and stored as a single setup and saved to a setup file.

When the test bench is launched the next time, it can auto-load the setup file with all the test scenarios. This makes it easy to perform fast code changes, recompile, and then continue the tests again.

Debug and Trace Analysis.

The SCRAMBLECODE debugger looks and works very much like an ordinary debugger. It can debug the source code line by line, set breakpoints, run, run to cursor, step in, step over, step out, present the call stack, trace values etc.

However, this is just the surface that provides a familiar user interface. It completely hides the fact, that the debugger underneath works completely different from probably most other debuggers you know.

The key issue here is security. The debugger must provide detailed information about the execution to you without the risk of being abused by crackers. Exactly how this is accomplished is described in more detail here.

For now please just be aware, that the debugging strategy used by SCRAMBLECODE is extremely simple to ensure that crackers can't use the debugger in their efforts to crack your code.


You can deploy your bytecode and your VM DLL files royalty free.

VM DLL files are self-contained and xcopy deployable - not requiring the installation of external dependencies.

The bytecode is a string in base64 format, which can easily be embedded into your host application or be part of a text file, a database field or a web response.

The project properties can specify, if and how the compiler copies the bytecode string to the clipboard for an easy copy-paste operation.

The compiler can also save the bytecode to a Compilation Unit File (CUF), which can be very convenient, because by providing the path of this CUF to a VM, it can automatically load and execute the bytecode. Using this option is especially useful when developing and testing with your host application - in order to avoid unnecessary copy-paste operations.


If you download SCRAMBLECODE updates and compile your bytecode for (re)deployment, it is very important to pay close attention to the compiler version specified on the IDE Start Page. If the compiler version has changed, you will need to create and redeploy your target DLL files again as described here.