In this episode of Defrag Tools, Vance Morrison joins Andrew Richards and Chad Beeder to discuss his performance analysis tool, PerfView. In part 3 of this series, we focus on looking at memory issues.
[00:00] - Downloading and Installing PerfView
[00:58] - Strategy: collect multiple snapshots to identify memory allocation changes
[02:30] - A sample app with some common memory leaks
[03:45] - Questions about garbage collection and managed vs. unmanaged memory leaks
[04:53] - Demo: Collecting first heap snapshot with PerfView
[07:52] - Looking at the collected heap stacks
[12:00] - Collecting a second heap snapshot for comparison after using the app
[13:30] - Getting PerfView to show you the differences between two snapshots
[18:06] - Drilling into the details - what is this memory allocation, and what is keeping it alive?
[21:22] - What this leak looks like in the source code (something cached and never thrown away)
[23:17] - We capured a second leak too
[24:20] - What's the second leak? (registered a callback when a GUI event happens, took a global unmanaged reference, never deregistered it)
[27:48] - Email us your issues at email@example.com. Next week: Viewing exceptions in PerfView.