Skip to content

southpolenator/SharpDebug

Repository files navigation

SharpDebug: C# debugging automation tool

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 status

Build status Code coverage Nuget version GitHub release

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.

Debugger extensions:

Quick start for using engine as standalone application for dump processing

  • 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 :)

Building the project

Prerequisites:

  1. .NET core 2.0
  2. Visual Studio Community 2017 (only for building WinDbg extension, VisualStudio extension)

Take a look at instructions.

Supporting the project

If you like the project, use it, "star" it, share ideas on how else it can be used, file issues, send pull requests, etc...