Presentation is loading. Please wait.

Presentation is loading. Please wait.

EMB425 Using Advanced Platform Builder Debugger Features James Stulz Program Manager Windows CE Core Tools Microsoft Corporation.

Similar presentations


Presentation on theme: "EMB425 Using Advanced Platform Builder Debugger Features James Stulz Program Manager Windows CE Core Tools Microsoft Corporation."— Presentation transcript:

1 EMB425 Using Advanced Platform Builder Debugger Features James Stulz Program Manager Windows CE Core Tools Microsoft Corporation

2

3 M anagement T ools C ommunications & M essaging Device Update Agent Software Update Services Live Communications Server Exchange Server Internet Security and Acceleration Server Speech Server Image Update L ocation S ervices M ultimedia MapPoint DirectX Windows Media Visual Studio 2005 D evelopment T ools MFC 8.0, ATL 8.0 Win32 N ative M anaged S erver S ide L ightweight R elational SQL Server 2005 Express EditionEDB D ata P rogramming M odel D evice B uilding T ools D evice B uilding T ools H ardware/ D rivers 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 2005SQL Server 2005 Mobile Edition ASP.NET Mobile ControlsASP.NET.NET Compact Framework.NET Framework Microsoft Operations Manager Systems Management Server

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

5 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

6 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

7 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

8 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

9 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

10 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

11 Debugger Settings Post build debugging Image was built with IMGNODEBUGGER= Requires KITL in the Image Load the debugger support Loaddbg.exe Attach the debugger

12 Debugger Settings Verbosity Dialogs and message boxes have the option “Don’t show me again” To get them back settings under Tools\options\Verbosity

13 Debugger Settings Detaching the debugger By default the device will still catch debug events If you want it to continue as a device without debug support Check the option Disable kdstub on Stop Debugging in Tools\Options\Debug

14 Features Breakpoints in ROM Only works on code in Virtual memory User code Not Kernel Limited to 10 VM pages simultaneously Relies on the correct description of ROM addresses from the OAL

15 Features Breakpoint instances New Breakpoint List window Dockable and not modal Tree control breakpoint lists Generic top level description Specific descriptions for instances All instances are listed Before this feature the debugger got confused by multiple instances

16 Features Deferred breakpoints Not red (Some people see pink, others see purple) Colors are configurable Waits for a module load When it finds the symbol, it turns red

17 Features Set breakpoints while running Set as deferred Instantiated at the next stopping event If it stays deferred, it will not get hit

18 Features Context specifier Stopped in a context where a variable or function is Not defined {function,source,module}symbol_nameE.g.,{,,coredll.dll}LocalAlloc

19 Features Release directory modules Instruct the loader to load from the FlatRelDir instead of from the image Advantage Fast debugging turnaround Remember to remove them when you are done

20 Features Source path mapping Solves the build lab problem Exposing the mapping to the user Search order from top tp bottom Remaps breakpoints on changes

21 Features HW assist debugging Doesn’t require a KITL enabled image Debug before kd loads Debug all code on the device (Bootloaders, ISRs, etc.) Use HW resources (Registers, BPs, etc.) Non intrusive Full debugging support requires a hd component on the device JTAG pins must be available Requires specific/compatible probe/eXDI support for the architecture

22 HW Assist Vendors Architecture Vendor Vendor ARM4I ARM – MultiICE ARM – MultiICE EPITools – Majic EPITools – Majic Aiji – A900 Aiji – A900 XScale Macgregor – Raven (Thru Intel) Macgregor – Raven (Thru Intel) MIPS EPITools - Majic EPITools - Majic SH3, SH4 Hitachi – E10a Hitachi – E10a If you have a favorite Probe vendor that does not provide an eXDI driver have them contact me jamess@microsoft.com

23 Debugger James Stulz Program Manager Windows CE Core Tools

24 While at MEDC 2005… Fill out an evaluation for this session Randomly selected instant WIN prizes! Randomly selected instant WIN prizes! Use real technology in a lab Instructor led Reef E/F & Breakers L Self-paced Reef B/C Self-paced Reef B/C Visit the Microsoft Product Pavilion in the Exhibit Hall Shorelines B in the Exhibit Hall Shorelines B

25 After The Conference… Develop Build InstallBuildJoin Install Enter Enter Join Full-featured trial versions of Windows CE and/or Windows XP Embedded Cool stuff & tell us about it: msdn.microsoft.com/embedded/community msdn.microsoft.com/embedded/community Windows Embedded Partner Program: www.mswep.com www.mswep.com Windows Mobile 5.0 Eval Kit including Visual Studio 2005 Beta 2 Mobile2Market Contest and win up to $25000: mobile2marketcontest.com mobile2marketcontest.com Microsoft Solutions Partner Program: partner.microsoft.com partner.microsoft.com

26 Tools & Resources msdn.microsoft.com/ embedded microsoft.public. windowsxp.embedded windowsce.platbuilder windowsce.platbuilder windowsce.embedded.vc windowsce.embedded.vc blogs.msdn.com/ mikehall Windows CE 5.0 Eval Kit Windows XP Embedded Eval Kit msdn.microsoft.com/ mobility microsoft.public. pocketpc.developer smartphone.developer dotnet.framework.compactframework blogs.msdn.com/ windowsmobile vsdteam netcfteam Windows Mobile 5.0 Eval Kit Websites Newsgroups Blogs Tools Build Develop

27 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.


Download ppt "EMB425 Using Advanced Platform Builder Debugger Features James Stulz Program Manager Windows CE Core Tools Microsoft Corporation."

Similar presentations


Ads by Google