Set of .NET libraries that provide access to different debugging tools. SharpDebug.Engine provides framework for writting .NET code against different debuggers/dump processing. Extension libraries provide access to dbgeng.dll for processing Windows dumps, ability to read Linux core dumps, WinDbg/VisualStudio extension with interactive scripting support. Debugging both native and managed code is supported (currently, managed code is supported only for dbgeng.dll, WinDbg and Visual Studio extensions).
Latest version of Visual Studio extension is uploaded to Open VSIX Gallery. If you want newer build than what is available in Releases page or as nuget package, you can click on Latest build, select Configuration and click on Artifacts. You can also use private nuget feed from AppVeyor CI builds.
- Create a new .NET project (you can use Console Application)
- Add NuGet package SharpDebug
- Start using it:
using SharpDebug;
DebuggerInitialization.OpenDump("path_to_dump_file", "symbol_path;srv*");
// After this line, you can execute any code that can be executed in a script. For example:
foreach (Module module in Process.Current.Modules)
Console.WriteLine(module.Name);
Take a look at Tutorials and Automate dump processing. It will come in handy :)
Prerequisites:
- .NET core 2.0
- Visual Studio Community 2017 (only for building WinDbg extension, VisualStudio extension)
Take a look at instructions.
If you like the project, use it, "star" it, share ideas on how else it can be used, file issues, send pull requests, etc...