Macrobug Stray Event Scanner
The Macrobug Stray Event Scanner is the only tool which can save weeks of effort fixing the dreaded "stray event panic". Every Symbian OS device creation engineer knows that the appearance of such a panic means hours of effort to try to find the cause - which might not even be possible. This tool highlights all the situations in your source code which could possibly be the source of such a bug.
About stray events
If you hear a Symbian OS engineer saying "oh, no!" then you know they've probably found a "stray event" panic. A stray event panic is where a thread receives an event it wasn't expecting - and therefore it crashes. But minutes or hours might have passed since the erroneous code executed. There's usually no evidence of what the problem was, so diagnosing a stray event usually means reading the source code to try to spot the cause of the problem. Time is money, and if you have a customer breathing down your neck, it's your reputation too.
No longer. Macrobug's Stray Event Scanner reads your source code and spots any situation which could lead to a stray event problem. (As a bonus it also spots situations which could lead to various other panics and freezes). The results appear in the Carbide.c++ development environment, right where the engineers need them.
Example engineering time saving
Over a five-month period during a particular Symbian OS phone development project.
| Without Stray Event Scanner | With Stray Event Scanner | ||
|---|---|---|---|
| Stray event panics found | 32 | ||
| Of which | Duplicates | 23 | |
| Unique problems | 9 | ||
| Estimated time to diagnose each unique problem | 6 hours | 10 minutes | |
| Estimated time to solve each duplicate problem (to work out it's a duplicate) | 3 hours | 10 minutes | |
| Total time spent diagnosing Stray Event problems | 123 hours | 5.3 hours | |
| Time saving over five months | 117.7 hours | ||
| Time saving over a year | 282.4 hours | ||
| Estimated cost saving over a year (assuming a cheap contractor!) | £12,708 | ||
Read our white paper for the source of these numbers and more details about the importance of different panic types.
How does it work? The source code is parsed using a modified version of the industry-standard compiler, GCC, so there are no concerns that it won't work on your source code. The standard Symbian OS build system is used to perform the parsing, so there are also no concerns that it won't work with your build environment. The parsed code is then analysed to find out what requests each function makes - and to check that it prepares itself to receive a reply. If there are any mismatches, an error is attached to the source code in the Carbide.c++ IDE.
Features
-
Three interfaces:
- Carbide.c++ IDE graphical user interface
- Command-line interface
- Java application programming interface
-
Easy pop-up options in Carbide.c++ to scan code, and even to request that your code is scanned each time you build it.
-
Descriptive error messages shown attached to the erroneous source code
-
Problems listed alongside other compile errors in standard Carbide problems view
-
Problem Detail View available listing the circumstances under which each problem occurs (usually obscure!) and what requests and waits the tool considers relevant
-
Tool can spot all kinds of code-flow problems which can cause stray events, including 'ifs', 'leaves', 'switch-case', and C++ exceptions.
Technology
The tool uses the standard Symbian build system to build the code, and GCC to parse the C++ - so it should have no problems coping with your code.
Pricing
Please see our Purchasing page.
Open source
The Stray Event Scanner makes use of the open-source GCCXML project. See our Open Source page to download the improvements and other changes we've made to GCCXML.
Main Page |
Buy now |
Download trial |
Download datasheet |
Read FAQs |

Main Page