While the title may suggest an epic struggle, a competition, an either / or proposition, in the field of embedded software debug and test, Scripted and Interactive should be seen as complementary. Like the well worn adage, there is a time and place for each. VLAB gives users the opportunity to explore new ‘places’ at any time.
Interactive Debugging
Working with software in embedded environments has long suffered for lack of access leading to the need for expensive debug hardware and software. When it is in place, there is nothing quite like a modern debug client for interactively exploring code execution to understand code behaviour. That is why VLAB has been developed to support, without debug hardware, a number of industry leading debug clients that developers already use when working with hardware. To find out if your debugger of choice is supported have a look at the VLAB Works Ecosystem.
If for some reason, your debug license has lapsed or you are working with a new architecture and haven’t arranged a debug license, VLAB is an option. The VLAB IDE supports all of the basics that you would expect to interactively debug your code across multiple cores, regardless of hardware architecture. This however is not the feature that should excite those that use VLAB.
Scripted Debug and Test
Scripted control of debug and test is where VLAB can significantly enhance interactive debug and offer exciting new pathways in testing.

New testing pathways is probably where the real value lies. Developing continuous integration tests that take advantage of VLAB scripted debugging is powerful yet simple to do. Execution control alongside the ability to stub or invoke target software functions, complemented with tracing and software analysis is all at hand. In the video below you can see this combination for yourself. For those who have a few minutes you will see how VLAB is able to, without modifying the target software:
- Intercept calls to manipulate parameters
- Invoke target software functions
- Record and trace variables / memory of interest for validation and analysis
All without modifying the target software in a repeatable, scalable and deterministic environment.