C# Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
ClrMd ClrMd: Fixing bug with getting symbols (when symbol server is not wor… Oct 15, 2016
Properties Converting projects to VS2017 and new simplified format using Microso… Sep 2, 2017
Source Fixing tests that require MS DIA (switching to MTA when needed). May 6, 2018
Tests Fixing tests that require MS DIA (switching to MTA when needed). May 6, 2018
Utility Documentation: Disable output of missing tags. May 6, 2018
dumps Always downloading dumps in folder where download.ps1 script is located. Sep 11, 2017
samples Converting projects to VS2017 and new simplified format using Microso… Sep 2, 2017
.gitattributes 🎉 Added .gitattributes Nov 7, 2015
.gitignore Ignoring downloaded dumps from BinTray Sep 10, 2017
DllExport.props Adding metadata for packiging nugets with 'dotnet pack' command. Sep 2, 2017
GetShipFiles.ps1 Fixing build issues. Aug 29, 2017
Key.snk Adding signing to assemblies referenced in VS extension project. May 1, 2016
README.md Merge branch 'master' into MovingToCore Sep 30, 2017
SharedAssemblyInfo.props Generating full debugging symbols always. Sep 8, 2017
WinDbgCs.sln Fixing build of CsDebugScript.Reference project. Sep 27, 2017
appveyor.yml Updating AppVeyor.yml file Sep 28, 2017
generatedumps Updating linux clang dump because it is missing libc++ symbols Aug 15, 2017
generatedumps.bat Initial check-in for Dwarf symbol provider. Aug 5, 2017
license.txt Adding a license file Mar 8, 2016
nuget.config Converting projects to VS2017 and new simplified format using Microso… Sep 2, 2017
runtests.bat Converting projects to VS2017 and new simplified format using Microso… Sep 2, 2017

README.md

CsDebugScript: C# debugging automation tool

Set of .NET libraries that provide access to different debugging tools. CsDebugScript.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 and WinDbg extension).

Latest status

Build status Code coverage Nuget version GitHub release

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 https://ci.appveyor.com/nuget/windbgcs-raewbx34ffcq.

Easy start for using engine

  • Create a new .NET project (you can use Console Application)
  • Add NuGet package CsDebugScript
  • Start using it:
using CsDebugScript;

DebuggerInitialization.OpenDump("path_to_dump_file", "symbol_path;srv*");
// After this line, you can execute any code that can be executed in the script. For example:
foreach (Module module in Process.Current.Modules)
    Console.WriteLine(module.Name);

Wiki

Take a look a Wiki page to get hooked up :)
Or jump to WinDbg interactive mode screenshots...

Code reference

Now that you are hooked up, you can take a look at code reference.

Prerequisites for building the project

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