Sela

Advanced C++ WNA Debugging

Description
In this three-day instructor-led course, you will learn how to debug Windows Native Applications written in C/C++ or any other language compiled into Windows binary format in development, QA, and production environments. Extensive hands-on labs and demonstrations ensure you can apply the skills learned to your applications and systems.
Intended audience
Experienced Windows developers that want to learn advanced debugging tools and techniques to debug native Windows applications.

Topics

Prerequisites
Categorization of bugs
Assumptions and Scenarios
Environments
Tools
Demo(s),Lab(s)
Visual studio tools to avoid and eliminate bugs
Static code analysis
Configuring Visual Studio for native debugging
Debugging symbols and symbols server configuration
Visual studio Build in tools for debugging, tracing and performance
Short review on the well-known commands and tools
Deep dive into the less known commands and tools
Remote Debugging
Demo(s), Lab(s)
Getting and installing debugging tools for windows
Debugging tools and other tools included in the package
Using the tools without installation
Demo(s), Lab(s)
Windows Architecture
Kernel, X-86, and X-64 address spaces
SHE
WOW
Windows executables and DLLs loading and terminating process
Processes, Threads, Fibers and Jobs.
Windows handling of exceptions
Win32 APIs
Demo(s), Lab(s)
Introduction to WinDbg
Configuring WinDbg for live debugging
Using WinDbg to debug live processes
WinDbg basic commands
Calling conventions and parameter passing
Demo(s), Lab(s)
When to use dumps (Use cases)
Dump types
Techniques to manually and automatically generate dumps
Kernel dumps Vs. process dumps
Tools to analyze dumps
Demo(s), Lab(s)
Configuring WinDbg for dump analyzing
Using WinDbg to debug dumps
WinDbg commands used in dump analysis
WinDbg Extensions
WinDbg Scripts
Demo(s), Lab(s)
Why do you need basic knowledge of assembler
CPU registers and their use in running programs
Basic assembler commands
Using WinDbg to disassemble code
What does the optimizer do to your code
How optimization affect debugging
Making you code more debugger friendly
Demo(s), Lab(s)
Getting and installing Sysinternals package
tools included in the package
Using the tools without installation
Tools from the package that are helpful in debugging
Demo(s), Lab(s)
ETW features
Tools that use ETW
Incorporating ETW in your code
Creating and controlling ETW traces.
Analyzing ETW traces.
Demo(s), Lab(s)
Memory manager APIs
Heal allocations
The CRT memory heap
Analyzing heaps
Application Verifier, UMDH, VMMap
Demo(s), Lab(s)
Detecting anomalies
Creating a baseline
Counters to watch for specific debug scenarios
Counters to watch for performance problems
Demo(s), Lab(s)
Getting and installing Windows performance toolkit
tools included in the package
Using the tools without installation
Collecting WPT trace data
Analyzing WPT trace data
Demo(s), Lab(s)
CPU Hang
Deadlock Hang
Exception crash
Memory Leaks
Resource Leaks
Demo(s), Lab(s)

רוצה לדבר עם יועץ?

האם אתה בטוח שאתה רוצה לסגור את הטופס ולאבד את כל השינויים?