
EMB425 Using Advanced Platform Builder Debugger Features James Stulz Program Manager Windows CE Core Tools Microsoft Corporation Microsoft MEDC Mobile Embedded DevCon 2005
EMB425 Using Advanced Platform Builder Debugger Features James Stulz Program Manager Windows CE Core Tools Microsoft Corporation

Microsoft MEDC Mobile Embedded DevCon 2005 May9-12,2005 Las Vegas Microsoft

Windows Mobile Windows WindowsxP Windows CE5.0 Tablet PC Edition Embedded Hardware/Drivers BSP OEM/IHV Supplied OEM Hardware and Standard PC (ARM,SH4,MIPS) Standard Drivers Hardware and Drivers Device Building Windows XP DDK Tools Platform Builder Windows Embedded Studio Lightweight EDB SQL Server 2005 Express Edition Relational SQL Server 2005 Mobile Edition SQL Server 2005 6u]wwe.6old Native Win32 MFC 8.0,ATL 8.0 Managed .NET Compact Framework .NET Framework server side ASP.NET Mobile Controls ASP.NET Multimedia Windows Media DirectX Location services MapPoint Development Tools Visual Studio 2005 Internet Security and Acceleration Server communications Exchange Server Messaging Live Communications Server Speech Server Device Update Agent Management Image Update Software Update Services Tools Systems Management Server Microsoft Operations Manager
Management Tools Communications & Messaging Device Update Agent Software Update Services Live Communications Server Exchange Server Internet Security and Acceleration Server Speech Server Image Update Location Services Multimedia MapPoint DirectX Windows Media Development Tools Visual Studio 2005 MFC 8.0, ATL 8.0 Native Win32 Managed Server Side Lightweight Relational EDB SQL Server 2005 Express Edition Data Programming Model Device Building Tools Hardware/Drivers Windows XP DDK Windows Embedded Studio Platform Builder OEM/IHV Supplied BSP (ARM, SH4, MIPS) OEM Hardware and Standard Drivers Standard PC Hardware and Drivers SQL Server 2005 Mobile Edition SQL Server 2005 ASP.NET Mobile Controls ASP.NET .NET Compact Framework .NET Framework Microsoft Operations Manager Systems Management Server

Agenda Introduction to the PB Kernel Debugger Build Requirements Debugger Settings Advanced Features Demo
Agenda Introduction to the PB Kernel Debugger Build Requirements Debugger Settings Advanced Features Demo

PB Kernel Debugger VC++version 6 roots Familiar Ul Rich in features System Debugger 9 Exceptions from any process Stops interrupts while in break state Uses KITL connections 9 HW Assist thru 3rd party support Debugging Applications Slightly different from eVC
PB Kernel Debugger VC++ version 6 roots Familiar UI Rich in features System Debugger Exceptions from any process Stops interrupts while in break state Uses KITL connections HW Assist thru 3rd party support Debugging Applications Slightly different from eVC

Build Requirements Retail builds This is the default build 9 Debugger support is not on Easy to add using PB Enable Kernel Debugger (IMGNODEBUGGER= Enable KITL connectivity (IMGNOKITL=) Debugging optimized code Beware of code movement View assembly Set extra safety breakpoints Some variables optimized away
Build Requirements Retail builds This is the default build Debugger support is not on Easy to add using PB Enable Kernel Debugger (IMGNODEBUGGER= ) Enable KITL connectivity (IMGNOKITL=) Debugging optimized code Beware of code movement View assembly Set extra safety breakpoints Some variables optimized away

Build Requirements Debug builds Not the default but easy to select Debugger support is on Full debug symbols support Disadvantages 9 Not the code that ships Some bugs only happen in retail builds
Build Requirements Debug builds Not the default but easy to select Debugger support is on Full debug symbols support Disadvantages Not the code that ships Some bugs only happen in retail builds

Build Requirements HW assist debugging Default(without IMGHDSTUB=1) No OS Awareness Load notifications OS events/exceptions No processes/threads data Retail builds Add IMGHDSTUB=1 Debug builds Do not enable Kernel Debugger (IMGNODEBUGGER=1) Add IMGHDSTUB=1
Build Requirements HW assist debugging Default (without IMGHDSTUB=1) No OS Awareness Load notifications OS events/exceptions No processes/threads data Retail builds Add IMGHDSTUB=1 Debug builds Do not enable Kernel Debugger (IMGNODEBUGGER=1) Add IMGHDSTUB=1

Debugger Settings Selecting The Debugger Under Target\Connectivity Options Default for Debug build is SW Assist No options for HW Assist until eXDl driver is installed
Debugger Settings Selecting The Debugger Under Target\Connectivity Options Default for Debug build is SW Assist No options for HW Assist until eXDI driver is installed

Debugger Settings Just in time debugging Enable Passive KITL Requires a code change in the OAL Run device as normal Wait for a unhandled 2nd chance exception on device Unfortunately,there is no device Ul 9 Attach the debugger
Debugger Settings Just in time debugging Enable Passive KITL Requires a code change in the OAL Run device as normal Wait for a unhandled 2nd chance exception on device Unfortunately, there is no device UI Attach the debugger