You Are Here:

Community: Blogs

Who am I?

mopius

Thinking about what mobile phones can do except messaging and voice calls is one of my main interests. At the department of Mobile Computing at the University of Applied Sciences in Hagenberg (Austria), I can work on those ideas every day by collaborating with students, researching and - well - thinking.

 

Calendar

« February 2008 »
Mo Tu We Th Fr Sa Su
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29    
 

Andreas Jakl's Forum Nokia Blog

Efficiency Boost - New Carbide.c++ Panic Lookup Plug-In

mopius | 04 February, 2008 14:28

Everyone who has spent at least a few hours developing in C++ for Symbian OS will know about Symbian OS system error and panic codes. No doubt one of the most “famous” is the KERN-EXEC 3 (null pointer exception). But what if you encounter an E32USER-CBase 71? What is the error -5? Nobody can know all the codes by heart, so you have to look them up:

  1. The PanicLookup-Plug-in also supports manual search of panics as well as standard Symbian OS error codes.
    The new PanicLookup-Plug-in allows comfortably searching panic and system error codes.
    Of course, the panics are documented in the SDK-doc. But accessing it means going through the start menu to open the SDK doc and then navigating through a huge hierarchy of the index to get to the list: Symbian OS v9.x -> Symbian OS reference -> System panic reference -> KERN-EXEC -> ... go through a long list to find your code... The search function will list the codes as well, but somewhere hidden in lots of results. Error codes are even more difficult to find.

  2. The famous NewLC Symbian OS Error Codes-list. This has been one of my favourite pages since I started Symbian OS development. A very comprehensive list, containing almost all codes.
    However, you have to start the browser, fire up the bookmark or search in Google for something like “Symbian error codes” and then search the error on the page. Additionally, it does not list the panic codes.

  3. Similar lists are of course available at the Forum Nokia Wiki. But it has the same restrictions as the previous list, requiring you to fire up the browser and get to the relevant page somehow.

  4. Some Excel-spreadsheets are floating around the web from time to time. They’re nice, but who really wants to fire up Excel just for looking up an error? Again, no panic codes included.

  5. There’s a Python-tool that allows easily looking up the error codes on the command line. But you have to remember it, fire up the command prompt and enter some command to fire up the tool (which you have to remember, again). Again, only error codes and no panics.

Unless you are a perfect developer with centuries of experience, you will regularly experience errors codes. Therefore, the idea is obvious – an integrated error and panic code lookup tool for the Carbide.c++ IDE would be a considerable timesaver.

PanicLookup-Plug-in

Wolfgang Damm and Andreas Pum, two “Mobile Computing”-students from the University of Applied Sciences in Hagenberg, have just finished a plug-in for Carbide.c++, which allows fast and efficient lookup of error codes.

Quite some time was spent on optimizing the integration, in order to maximize the efficiency. For example, the plug-in automatically parses the debug output for panic codes – you just have to switch to the plug-in window to read the description, which is in turn directly taken from the latest Symbian OS 9.3 system panic reference.

Features

Additionally, the plug-in allows manual lookup, featuring specialized auto-completion. Once you entered the first few letters of the panic category, you can jump to enter the number by pressing TAB. The standard Symbian OS error codes can be retrieved by searching for “Error -5” or in the other direction by entering “KErrNotSupported”.

By default, the devices do not display the error codes so that end-users are not confused. To enable error display, copy an empty ErrRd-file to the C:Resource-folder of your phone through the pkg-file of your application. It’s even easier if you just install a small ErrRd-SIS file, which creates this file for you.

Download

The plug-in along with documentation and installation instructions can be downloaded for free from symbianresources.com. Of course, the developers would like to hear your feedback, so don’t hesitate to comment here or email them if you find it useful or if you have any ideas on how to further improve the plug-in!

The PanicLookup Carbide.c++ Plug-in automatically prints the full error description for any panic reported by the emulator.
For additional comfort, the plug-in automatically parses the debug output and instantly displays the description, which was taken right from the latest SDK documentation.

RSSComments

Re: Efficiency Boost - New Carbide.c++ Panic Lookup Plug-In

antonypr | 04/02/2008, 19:44

antonypr

Well done! It works pretty smoothly on my machine. It will definitely save my time... :)

Missing Panic

Paul.Todd | 05/02/2008, 13:10

Paul.Todd

I noticed the AVKON panics in AknPanic.h seem to be missing on my version, otherwise seems to work fine on 1.3

AVKON panics

WolfgangDamm | 07/02/2008, 04:01

Thanks for pointing out that AVKON pancis are missing. We are currently looking into how we will integrate those. Expect a new release soon!

New Version

WolfgangDamm | 11/02/2008, 23:07

We finished version 1.1 with feature improvements based on feedback of the community.

Changes:

* Avkon Panics included
* Panic numbers are displayed without a minus
* Search for error codes by just typing -
* Bug with automatic panic detection fixed

You can download it from http://www.symbianresources.com/projects/paniclookup.php

You must login to post comments. Login
 

Rate This

 
 
Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditDiigoTechnocratiTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
京ICP备05048969号    Email Newsletters Press Terms & Conditions Privacy Policy Sitemap Contact Us © 2009 Nokia 
RDF Facets: qdcZdescriptionQSxAsE20anE20AssistantE20ProfessorE2cE20IE27mE20teachingE20SymbianE20OSE20atE20theE20UniversityE20ofE20AppliedE20SciencesE20inE20HagenbergE2cE20AustriaE2eE20MyE20companyE20E22MopiusE22E20isE20developingE20mobileE20softwareE20withE20aE20specialE20focusE20onE20SymbianE20OSE2eE20mopiusE20E7cE2004E20FebruaryE2cE202008E2014E3a28E20E45veryoneE20whoE20hasE20spentE20atE20leastE20aE20fewE20hoursE20developingE20inE20CE2bE2bE20forE20SymbianE20OSE20willE20knowE20aboutE20SymbianE20OSE20systemE20errorE20andE20panicE20codesE2eE20NoE20doubtE20oneE20ofE20theE20mostE20E93famousE94E20isE20theE20KE45E52NE2dE45E58E45CE203E20E28nullE20pointerE20eE78ceptionE29E2eE20ButE20whatE20ifE20youE20encounterE20anE20E4532USE2eE2eE2eX qdcZidentifierQSxhttpE3aE2fE2fblogsE2eforumE2enokiaE2ecomE2fblogE2fandreasE2djaklsE2dforumE2dnokiaE2dblogE2f2008E2f02E2f04E2fpaniclookupX qdcZpublisherQUxhttpE3aE2fE2fswE2enokiaE2ecomE2fidE2fc764fd1cE2d8b06E2d499aE2d9a6aE2d17c3903d5a65E2fforumE5fnokiaE5fcrawlerE5fagentX qdcZtitleQSxAndreasE20JaklE27sE20ForumE20NokiaE20BlogE20E7cE20E45fficiencyE20BoostE20E2dE20NewE20CarbideE2ecE2bE2bE20PanicE20E4cookupE20PlugE2dInX qdcZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qdcZtypeQUqfntypeZBlogContentQ qdcZtypeQUqfntypeZBlogE45ntryQ qdcZtypeQUqfntypeZCommunityContentQ qdcZtypeQUqfntypeZE52esourceQ qdcZtypeQUqfntypeZWebpageQ qdcZtypeQUqmarsZManagedE52esourceQ qdcZtypeQUqwebZInformationE52esourceQ qdcZtypeQUqwebZPageQ qdcZtypeQUqwebZE52esourceQ qdcZtypeQUqrdfsZE52esourceQ qrssZdescriptionQSxAsE20anE20AssistantE20ProfessorE2cE20IE27mE20teachingE20SymbianE20OSE20atE20theE20UniversityE20ofE20AppliedE20SciencesE20inE20HagenbergE2cE20AustriaE2eE20MyE20companyE20E22MopiusE22E20isE20developingE20mobileE20softwareE20withE20aE20specialE20focusE20onE20SymbianE20OSE2eE20mopiusE20E7cE2004E20FebruaryE2cE202008E2014E3a28E20E45veryoneE20whoE20hasE20spentE20atE20leastE20aE20fewE20hoursE20developingE20inE20CE2bE2bE20forE20SymbianE20OSE20willE20knowE20aboutE20SymbianE20OSE20systemE20errorE20andE20panicE20codesE2eE20NoE20doubtE20oneE20ofE20theE20mostE20E93famousE94E20isE20theE20KE45E52NE2dE45E58E45CE203E20E28nullE20pointerE20eE78ceptionE29E2eE20ButE20whatE20ifE20youE20encounterE20anE20E4532USE2eE2eE2eX qfnZdistributionQUxhttpE3aE2fE2fblogsE2eforumE2enokiaE2ecomE2fX qfnZtopicQUxhttpE3aE2fE2fswE2enokiaE2ecomE2fFNE2d1E2fBlogTopicE2fgeneralXRqdcZtypeQUqrdfsZE52esourceQRqmarsZrelevanceQNx100X qfnZtopicQUqfnTopicZcppQRqdcZtypeQUqrdfsZE52esourceQRqmarsZrelevanceQNx100X qfnZtopicQUqfnTopicZseriesE5f60QRqdcZtypeQUqrdfsZE52esourceQRqmarsZrelevanceQNx100X qfnZtopicQUqfnTopicZtestingQRqdcZtypeQUqrdfsZE52esourceQRqmarsZrelevanceQNx100X qfnZtypeQUqfntypeZBlogContentQ qfnZtypeQUqfntypeZBlogE45ntryQ qfnZtypeQUqfntypeZCommunityContentQ qfnZtypeQUqfntypeZE52esourceQ qfnZtypeQUqfntypeZWebpageQ qfnZupdatedQDx2008E2d02E2d11X qfnZuserE5ftagQSxs60X qfnZuserE5ftagQSxsymbianE2dcE2bE2bX qfnZuserE5ftagQSxtestingX qmarsZdescriptionQSxAsE20anE20AssistantE20ProfessorE2cE20IE27mE20teachingE20SymbianE20OSE20atE20theE20UniversityE20ofE20AppliedE20SciencesE20inE20HagenbergE2cE20AustriaE2eE20MyE20companyE20E22MopiusE22E20isE20developingE20mobileE20softwareE20withE20aE20specialE20focusE20onE20SymbianE20OSE2eE20mopiusE20E7cE2004E20FebruaryE2cE202008E2014E3a28E20E45veryoneE20whoE20hasE20spentE20atE20leastE20aE20fewE20hoursE20developingE20inE20CE2bE2bE20forE20SymbianE20OSE20willE20knowE20aboutE20SymbianE20OSE20systemE20errorE20andE20panicE20codesE2eE20NoE20doubtE20oneE20ofE20theE20mostE20E93famousE94E20isE20theE20KE45E52NE2dE45E58E45CE203E20E28nullE20pointerE20eE78ceptionE29E2eE20ButE20whatE20ifE20youE20encounterE20anE20E4532USE2eE2eE2eX qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX qrdfZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qrdfZtypeQUqfntypeZBlogContentQ qrdfZtypeQUqfntypeZBlogE45ntryQ qrdfZtypeQUqfntypeZCommunityContentQ qrdfZtypeQUqfntypeZE52esourceQ qrdfZtypeQUqfntypeZWebpageQ qrdfZtypeQUqmarsZManagedE52esourceQ qrdfZtypeQUqwebZInformationE52esourceQ qrdfZtypeQUqwebZPageQ qrdfZtypeQUqwebZE52esourceQ qrdfZtypeQUqrdfsZE52esourceQ