When an application crashes once in a while, developers can try to reproduce the problem, use logs to figure out what happened, or analyze the crash dumps. Dissecting a crash dump can provide information on the exception that occurred, the state of the application threads, interesting memory objects, synchronization mechanisms, and a lot more. However, such manual analysis takes time and when your application crashes dozens of time a day, it’s not realistic to spend all of the developers’ time on analysis. A full automation would be perfect, or at the very least a triage of the crashes into groups: by component, type of crash, or any other criterion. In this session we will see how we can automate .NET crash analysis on both Windows and Linux, and how to perform more in-depth analysis (when necessary) using WinDbg, lldb, and SOS.
Dina Goldshtein is a Senior Software Engineer at Aternity. Aternity builds performance monitoring tools that run on millions of PCs and mobile devices. Dina is on the team responsible for the core collection mechanism, which hooks low-level Windows events and collects performance information from a variety of sources. Since starting at Aternity, she worked a lot on boot performance monitoring, identifying bottlenecks in the Windows boot process. Prior to her work at Aternity, Dina worked at BrightSource Energy, where she lead the Software Foundations team, developing software infrastructures used by the entire R&D department. As part of her job she was also responsible for bringing in new technologies, mentoring and improving quality and development processes, department-wide.