You Are Here:

Community: Wiki

This page was last modified on 10 October 2009, at 14:39.

Extended panic code

From Forum Nokia Wiki

Contents

Reviewer Approved   

If your application generates a panic it will be closed and an error note is shown by the OS: "Program closed:/n%S" where %S is your application's name.

In emulator, if just in time debugging is enabled, a panic will launch the debugger instead of displaying a panic note and terminating the thread. Some Symbian SDK releases have just in time debugging enabled by default. You can disable it by editing %EPOCROOT%\epoc32\data\epoc.ini and making sure the following line exists in the file:
JustInTime 0

S60 1st and 2nd Edition

To get the emulator/device display the reason and error code for panics, create a zero-sized file named ErrRd (no file name extension) under the PC's directory %EPOCROOT%\epoc32\wins[cw|b]\c\system\bootdata\.

On the device, you should create a zero-sized file ErrRd (no file name extension) under the directory c:\system\bootdata\. You can use a file explorer application (for instance, FExplorer) to create the file, or if none is available, use a signed sis file.

S60 3rd Edition and later

To get the emulator display the reason and error code for panics, start the emulator, then open its Tools -> Preferences menu, and finally make sure the "Extended panic code file" option is checked on the C++ Debug tab. (This has the effect of creating a zero-sized file named ErrRd (no file name extension) under the PC's directory %EPOCROOT%\epoc32\wins[cw|b]\c\resource\.)

On the device, you should create a zero-sized file ErrRd (no file name extension) under the directory c:\resource\. You can use a file explorer application (for instance, YBrowser) to create the file, or if none is available, deploy the file through a SIS file. In case you don't want to use ErrRd, then you could also use Y-Tasks Crash monitor or Panic Observer.

Note!
You can obtain a prebuilt sis file from here (file signature updated, valid until 2018)


"Danger, Will Robinson!"
Do not add the ErrRd file to your application's SIS file, it will cause you update error when attempting to overwrite it.
Do not release this file with your application. This is an R&D tool for developers to use, it does not belong on an end-user's phone.


The results

Once this file is created, the error note shown by the OS would look like: "Program closed:/n%S/n%S %d" where the second %S is replaced by the panic reason (for example, USER, KERN-EXEC, etc.) and %d would be replaced by the panic code.


Note!
The panic reason and code are only shown on this error note; they are NOT logged into the ErrRd file.
The screenshots are taken from an emulator. Target devices may show even less info than illustrated in image a) (or no info at all) when the ErrRd file is missing.



A quick search in SDK's help and you will find a hint on the kind of programming error you should be hunting for in your code.

When reporting an application crash, either on Forum Nokia's Discussion Boards or to Forum Nokia's Technical Support service, please add the panic reason and code to the problem description.

Refer to the following link for: Symbian OS Error Codes.

Troubleshooting

Have you activated the "Extended panic code" in the emulator but it does not appear to work? See Running the emulator from Carbide.c++.

You cannot find any reference to the identified panic in the SDK (documentation and/or header files)? Add the panic reason and code to the end of Undocumented Symbian OS and S60 panics.

Related Wiki Articles

No related wiki articles found

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: qdcZidentifierQSxhttpE3aE2fE2fwikiE2eforumE2enokiaE2ecomE2findeE78E2ephpE2fTalkE3aE4cargeE5fscreenE5fsaverX qdcZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qdcZtypeQUqfntypeZCommunityContentQ qdcZtypeQUqfntypeZE52esourceQ qdcZtypeQUqfntypeZWebpageQ qdcZtypeQUqfntypeZWikiContentQ qdcZtypeQUqmarsZManagedE52esourceQ qdcZtypeQUqwebZInformationE52esourceQ qdcZtypeQUqwebZPageQ qdcZtypeQUqwebZE52esourceQ qdcZtypeQUqrdfsZE52esourceQ qfnZtypeQUqfntypeZCommunityContentQ qfnZtypeQUqfntypeZE52esourceQ qfnZtypeQUqfntypeZWebpageQ qfnZtypeQUqfntypeZWikiContentQ qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX qrdfZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qrdfZtypeQUqfntypeZCommunityContentQ qrdfZtypeQUqfntypeZE52esourceQ qrdfZtypeQUqfntypeZWebpageQ qrdfZtypeQUqfntypeZWikiContentQ qrdfZtypeQUqmarsZManagedE52esourceQ qrdfZtypeQUqwebZInformationE52esourceQ qrdfZtypeQUqwebZPageQ qrdfZtypeQUqwebZE52esourceQ qrdfZtypeQUqrdfsZE52esourceQ
User Rating: qfnZuserE5FratingQNx2E2E5000X