• Online, Self-Paced
Course Description

Microsoft Windows is a powerful graphical user interface, and most software developers will develop Windows applications at some point. Software development means debugging, and this course will cover software debugging in Windows, including Windows debugging tools, Windows memory manager issues, and resource issues. You will also learn about Windows 8 debugging tools and improving code quality.

Learning Objectives

Windows Debugging Tools

  • start the course
  • recognize how to install the Windows Debugging Tools
  • recognize the tools available in the Windows Debugging Tools set
  • recognize how to start the common debugging tools
  • recognize what symbol files are and how to retrieve them
  • recognize how debugging differs between various platforms

Windows Memory Manager Issues

  • recognize the Windows Memory Management system
  • recognize basic concepts of the Windows Heap
  • recognize how the heap can be corrupted
  • recognize the tool available for monitoring heap
  • recognize how to use the Pageheap tool

Resource Issues

  • recognize what causes resource issues
  • recognize how Windows handles are used to identify resource issues
  • recognize how to find resource handles for running applications
  • recognize how the UMDH, DebugDiag, and !heap commands are used to track down resource issues
  • recognize how to launch the UMDH tool
  • recognize web browser memory issues
  • recognize how to use the JSCRIPT Memory Analyzer tool

Windows 8 Debugging Tools

  • recognize the new debugging tools available with Windows 8
  • recognize the lifecycle of Windows 8 applications
  • recognize how to use the PLMDebug tool

Improving Code Quality

  • recognize basic concepts of code analysis
  • recognize how to use the Code Analysis tools in Visual Studio
  • recognize how to create custom rules for the Code Analysis Dictionary

Practice: Windows Software Debugging Tools

  • understand the various Windows debugging tools including managing memory issues, resource issues, and improving code quality

Framework Connections