Crashing – how not to do it

If you’re a Symbian OS device creator (that means, you make phones) you’ll want to read this paper. It includes interesting statistics about which crashes occur most often during the device creation process, and tips about which products can identify them early using source code analysis. Of course, the conclusion is, you should buy our new product – but also, you should buy Coverity™ or Klocwork™!

2 Responses to “Crashing – how not to do it”

  1. James Says:

    Does this apply only to release builds? I find the lack of User:0 surprising. Perhaps the lack of them is correlated to large amount of the others?

  2. Adrian Taylor Says:

    Hi James, yes, this is from a real phone development project. They tend to use only UDEB on the emulator and UREL on target… these numbers are derived from the team which triages all the problems found on real handsets, so they’re the on-target UREL numbers.

    In general, no, I’ve hardly ever seen USER 0 on real phones. I don’t know if that’s because they’re typically only used in __ASSERT_DEBUG, or because licensee code often doesn’t have the same amount of assertion checking that you may expect in Symbian.

    In fact, the most common cause of USER 0’s I’ve seen recently is from a Symbian USER 0… called where somebody throws a C++ exception past a TRAP!