Automating Crash Dump Analysis: Some Final Thoughts

For a reference, here are some links to the previous parts in this series: ·         Prolific Usage of MiniDumpWriteDump ·         Opening a Crash Dump File ·         Getting the Stack from a .DMP File ·         Getting the Crash Details from a .DMP File ·         Showing the Disassembly from a .DMP File   So now the question…

0

Showing the Disassembly from a .DMP File (Automating Crash Dump Analysis Part 4)

When investigating a crash, it can often be beneficial to see the assembly leading up too, and even following the event. It turns out that generating the corresponding assembly at an address is pretty easy. The hard part is finding a good starting point for enumerating if we want to look backwards from a given…

1

Getting the Crash Details from a .DMP File (Automating Crash Dump Analysis Part 3)

Aside from a stack trace (the “where”), you probably want to know something about the crash (the “why” or the “how”). With the code below, we can query some of the basic details about what happened. From this we will at least be able to determine if the application attempted to write to a protected…

1

Getting the Stack from a .DMP File (Automating Crash Dump Analysis Part 2)

So now that we have a memory dump file, and know how to open it, we will want to pull some useful data out. To start with, we will grab the stack trace (which is arguably one of the more important pieces). And in case you’ve stumbled across the “dumpstk” sample in the WinDBG install\sdk…

2

Opening a Crash Dump File (Automating Crash Dump Analysis Part 1)

So let’s assume for the moment that you have a collection of crash dump files from your team’s application. These files may be generated from your stress tests, betas, etc. But where they come from really isn’t important, what is important is that we want some way to dig into these files and gather information,…

4

Prolific Usage of MiniDumpWriteDump (Automating Crash Dump Analysis Part 0)

As a precursor to a series on programmatically querying crash dump files, I wanted to first talk about the MiniDumpWriteDump function.   You don’t necessarily need to wait for your application to crash in order to generate a memory dump. As soon as you detect something bad happening, you can call MiniDumpWriteDump yourself and generate…

4

Google’s Chart API

Throughout the software development cycle there is a wide array of areas where you need to generate various reports which include nifty looking charts. Whether you are generating performance reports, bug trends, tracking memory or CPU utilization, or following code coverage results; generating a meaningful graph is important for delivering and allowing the easy consumption…

0

Creating Calendar Items

It is nice to be able to allow team mates to optionally add meeting requests or reminders to their calendars through an informational email or web page. For example, if you have a website showing information on how team members can run a stress tool on their PC at night, you may want to provide…

1