.NET Internals and Advanced Debugging Techniques
Learn the internals of .NET and how to master the powerful Debugging Tools for Windows debuggers
You are currently not signed in. Please sign in to access subscriber-only content.
Currently using: {{getCurrentPlayerName()}} [Change]
| expand all | collapse all | Progress | Duration | |
|---|---|---|---|
CLR Internals |
|
01:15:25 | |
|
Introduction and Overview
|
|
08:17 | |
|
Loading CLR Images
|
|
03:30 | |
|
CLR Process Overview
|
|
02:15 | |
|
Application Domains
|
|
07:41 | |
|
Demo: Looking at application domains
|
|
04:00 | |
|
Assemblies
|
|
06:04 | |
|
Global Assembly Cache
|
|
03:38 | |
|
Demo: Looking at assemblies
|
|
08:45 | |
|
Assembly Manifest
|
|
01:04 | |
|
Demo: Looking at assembly manifests
|
|
03:09 | |
|
Modules
|
|
01:39 | |
|
Types Overview
|
|
01:37 | |
|
Value Types
|
|
02:44 | |
|
Reference Types
|
|
01:52 | |
|
Demo: Looking at types
|
|
02:13 | |
|
Reference Type Metadata
|
|
02:36 | |
|
Demo: Looking at syncblocks
|
|
02:35 | |
|
Method Tables
|
|
02:09 | |
|
Demo: Looking at method tables
|
|
03:36 | |
|
Method Descriptors
|
|
01:21 | |
|
Demo: Looking at method descriptors
|
|
03:11 | |
|
Summary
|
|
01:29 | |
Core Debugging Tasks |
|
01:03:18 | |
|
Introduction and Overview
|
|
02:55 | |
|
.NET Debugger extensions
|
|
02:58 | |
|
Running the debuggers
|
|
03:05 | |
|
Symbols
|
|
01:29 | |
|
Command Categories
|
|
01:37 | |
|
Loading the debugger extensions
|
|
03:04 | |
|
Object Inspection
|
|
06:02 | |
|
Demo: Object inspection
|
|
08:03 | |
|
Code and Threads
|
|
03:58 | |
|
Demo: Code and threads
|
|
02:25 | |
|
Diagnostics
|
|
02:55 | |
|
Demo: Diagnostics
|
|
04:16 | |
|
CLR data structures
|
|
00:54 | |
|
Postmortem debugging
|
|
03:48 | |
|
Analyzing crash dumps
|
|
04:23 | |
|
Demo: Postmortem debugging
|
|
03:11 | |
|
Managed Debug Assistants (MDA)
|
|
02:42 | |
|
Demo: Managed Debug Assistants (MDA)
|
|
04:03 | |
|
Summary
|
|
01:30 | |
Garbage Collection |
|
01:13:19 | |
|
Introduction and Overview
|
|
04:28 | |
|
Memory architecture
|
|
03:35 | |
|
Workstation vs. Server
|
|
03:53 | |
|
Memory Allocation Process
|
|
03:39 | |
|
Demo: Memory Allocation Process
|
|
04:07 | |
|
Generations
|
|
04:54 | |
|
Demo: Generations
|
|
03:06 | |
|
Roots
|
|
03:02 | |
|
Demo: Roots
|
|
05:22 | |
|
Finalization Overview
|
|
05:32 | |
|
Finalization Internals
|
|
06:06 | |
|
Demo: Finalization
|
|
06:40 | |
|
Reclaiming Memory
|
|
02:24 | |
|
Large Object Heap
|
|
02:28 | |
|
Pinning
|
|
03:11 | |
|
Memory Fragmentation
|
|
02:43 | |
|
Demo: Memory Fragmentation
|
|
05:30 | |
|
CLR 4.0 Enhancements
|
|
01:16 | |
|
Summary
|
|
01:23 | |
Thread Synchronization |
|
00:49:45 | |
|
Introduction and Overview
|
|
04:59 | |
|
Monitors
|
|
06:21 | |
|
Demo: Monitors and object layout
|
|
08:21 | |
|
Demo: Deadlock
|
|
08:48 | |
|
Monitor recap
|
|
01:29 | |
|
Reader/Writer Locks
|
|
04:58 | |
|
Demo: Reader/Writer Locks
|
|
05:34 | |
|
Win32 Lock Constructs
|
|
01:37 | |
|
Demo: Win32 Lock Constructs
|
|
06:15 | |
|
Summary
|
|
01:23 | |
Interoperability |
|
00:34:40 | |
|
Introduction and Overview
|
|
02:46 | |
|
Platform Invocation (and demo)
|
|
05:03 | |
|
COM Interop
|
|
08:06 | |
|
Demo: COM Interop
|
|
04:14 | |
|
Garbage Collection and Interop
|
|
02:27 | |
|
Interop Managed Debug Assistant
|
|
02:57 | |
|
Interop Leaks
|
|
02:43 | |
|
Demo: COM Interop leak
|
|
05:25 | |
|
Summary
|
|
00:59 |
CLR Internals