Core dump utility for .NET.

In my past life, as a developer of COBOL mainframes, I widely used a tool called Abendaid , which in case of an exception give me a complete memory dump, including a formatted list of each variable in memory, as well as a full trace of the program stack with a highlighted violation statement. This greatly simplified the cause of the error and saved a lot of step-by-step debugging and / or tracing instructions.

Now I have switched to C # and .NET web development. I find that the information provided by ASP.NET tells only half of the story, giving me a stack trace, but not any information about a variable or class. This makes debugging difficult, since you need to start the process again using the debugger in order to try to reproduce the error, and not just with intermittent errors or with assemblies that run under such SQL Server or CRM.

I looked back a lot at what was doing this, but I could not find anything obvious. Does anyone know if he is or not, what do I need to start to write?

+4
source share
3 answers

Take a look at DebugDiag.exe - it includes utilities for getting a memory dump, which can be analyzed using windbg .

Receiver Debugger: The debugger node (DbgHost.exe) hosts the Windows Symbolic Debugger Engine (dbgeng.dll) to join processes and generates memory dumps .

(emphasizes mine)

+1
source

After an extensive search on the β€œ.NET memory dump”, I found this as the first non-commercial link. There's also a similar thread on SO: A tool for analyzing memory dumps .Net app.

+1
source

To automate the generation of technological dumps, you can:

  • Use AdPlus from the debugging tools for Windows (you can unzip it using xcopy from installing the tools on the target machine: no, you need to add the installation to production).
  • Use ProcDump from SysInternals.

Once you have the dump, you will need the SoS ("Shrike Son") extension in WinDBG to get information about the .NET level.

+1
source

Source: https://habr.com/ru/post/1403874/


All Articles