Article ID: 832266
Article Last Modified on 5/27/2005
APPLIES TO
- Microsoft Windows CE .NET 4.2
SYMPTOMS
When an unhandled exception occurs inside the window procedure of an application, you do not receive an error message, and the Just-In-Time (JIT) debugger does not start.
CAUSE
The operating system has changed; earlier versions did not exhibit this behavior.
In earlier versions of Windows CE, the error message was displayed, and the JIT debugger was started from the first-chance exception logic in the operating system.
The current version displays the error message and starts the JIT debugger from the second-chance (unhandled) exception logic. Because Graphics, Windowing and Events Subsystem (GWES) installs an exception handler during a call to a window procedure, these exceptions are caught and never reach the second-chance exception logic.
RESOLUTION
Hotfix Information
A supported software update is now available from Microsoft as Windows CE 4.2 Core OS QFE 832266. To resolve this problem immediately, click the following article number for information about obtaining Windows CE Platform Builder and core operating system software updates:
837392 How to locate core operating system fixes for Microsoft Windows CE Platform Builder products
Prerequisites
This fix is supported only when all previously issued fixes for this product have also been installed.
Restart Requirement
After you install this update, you must clean and build the whole platform. You do not have to restart your computer after you apply this fix.
Hotfix Replacement Information
This fix does not replace any other fixes.
File Information
The English version of this package has the file attributes (or later) that are listed in the following table.
Date Time Version Size File name --------------------------------------------------------------------------------------- 06-Feb-2004 18:48 4.2.4.206 1,047,280 Wincepb42-040206-kb832266-armv4.exe 06-Feb-2004 18:48 4.2.4.206 1,047,280 Wincepb42-040206-kb832266-armv4i.exe 06-Feb-2004 18:48 4.2.4.206 1,063,664 Wincepb42-040206-kb832266-mipsii.exe 06-Feb-2004 18:48 4.2.4.206 1,063,664 Wincepb42-040206-kb832266-mipsii_fp.exe 06-Feb-2004 18:48 4.2.4.206 1,084,144 Wincepb42-040206-kb832266-mipsiv.exe 06-Feb-2004 18:48 4.2.4.206 1,084,144 Wincepb42-040206-kb832266-mipsiv_fp.exe 06-Feb-2004 18:48 4.2.4.206 1,030,896 Wincepb42-040206-kb832266-sh3.exe 06-Feb-2004 18:48 4.2.4.206 1,034,992 Wincepb42-040206-kb832266-sh4.exe 06-Feb-2004 18:48 4.2.4.206 948,976 Wincepb42-040206-kb832266-x86.exe
The English version of this hotfix has the file attributes (or later) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
Date Time Size File name -------------------------------------------------------------- Path: Public\Common\Oak\Lib\ARMV4\Debug 09-Dec-2003 22:15 854,152 Thunks.lib Path: Public\Common\Oak\Lib\ARMV4\Retail 09-Dec-2003 22:14 918,066 Thunks.lib Path: Public\Common\Oak\Lib\ARMV4I\Debug 09-Dec-2003 22:15 858,116 Thunks.lib Path: Public\Common\Oak\Lib\ARMV4I\Retail 09-Dec-2003 22:15 922,174 Thunks.lib Path: Public\Common\Oak\Lib\MIPSII\Debug 09-Dec-2003 22:15 910,306 Thunks.lib Path: Public\Common\Oak\Lib\MIPSII\Retail 09-Dec-2003 22:15 993,936 Thunks.lib Path: Public\Common\Oak\Lib\MIPSII_FP\Debug 09-Dec-2003 22:15 910,554 Thunks.lib Path: Public\Common\Oak\Lib\MIPSII_FP\Retail 09-Dec-2003 22:15 994,188 Thunks.lib Path: Public\Common\Oak\Lib\MIPSIV\Debug 09-Dec-2003 22:16 927,810 Thunks.lib Path: Public\Common\Oak\Lib\MIPSIV\Retail 09-Dec-2003 22:15 1,008,758 Thunks.lib Path: Public\Common\Oak\Lib\MIPSIV_FP\Debug 09-Dec-2003 22:16 928,058 Thunks.lib Path: Public\Common\Oak\Lib\MIPSIV_FP\Retail 09-Dec-2003 22:16 1,009,010 Thunks.lib Path: Public\Common\Oak\Lib\SH3\Debug 09-Dec-2003 22:16 789,070 Thunks.lib Path: Public\Common\Oak\Lib\SH3\Retail 09-Dec-2003 22:16 895,810 Thunks.lib Path: Public\Common\Oak\Lib\SH4\Debug 09-Dec-2003 22:16 791,268 Thunks.lib Path: Public\Common\Oak\Lib\SH4\Retail 09-Dec-2003 22:16 898,262 Thunks.lib Path: Public\Common\Oak\Lib\X86\Debug 09-Dec-2003 22:14 621,758 Thunks.lib Path: Public\Common\Oak\Lib\X86\Retail 09-Dec-2003 22:14 752,510 Thunks.lib
WORKAROUND
If the intention is only to know whether exceptions are occurring in a window procedure, the application can implement its own try/except block in the window procedure.
STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section of this article.
MORE INFORMATION
For operating systems that are built with Full Kernel Mode enabled, this hotfix disables the GWES exception block so that exceptions in a window procedure will reach the second-chance exception logic.
To enable Full Kernel Mode, follow these steps:
- In Platform Builder Integrated Development Environment, click Settings on the Platform menu.
- On the Build Options tab, select the Enable Full Kernel Mode check box.
For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the Standard Terminology That Is Used to Describe Microsoft Software Updates
Keywords: kbbug kbfix kbqfe KB832266