<commit_before># `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](https://ci.appveyor.com/api/projects/status/d2j4lxglq0tl1x1i/branch/master?svg=true)](https://ci.appveyor.com/project/southpolenator/windbgcs/branch/master)
[![Code coverage](https://img.shields.io/codecov/c/github/southpolenator/WinDbgCs.svg)](https://codecov.io/github/southpolenator/WinDbgCs)
[![Nuget version](https://img.shields.io/nuget/v/csdebugscript.engine.svg?style=flat)](https://www.nuget.org/packages/csdebugscript.engine/)
[![GitHub release](https://img.shields.io/github/release/southpolenator/windbgcs.svg?style=flat)](https://github.com/southpolenator/WinDbgCs/releases/latest)

If you want newer build than what is available in Releases page or as nuget package, you can click on [Latest build](https://ci.appveyor.com/project/southpolenator/windbgcs/branch/master), select Configuration and click on Artifacts. You can also use private nuget feed [https://ci.appveyor.com/nuget/windbgcs-raewbx34ffcq](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.Engine](https://www.nuget.org/packages/CsDebugScript.Engine)
* Start using it:

```
using CsDebugScript;

var debugClient = DbgEngManaged.DebugClient.OpenDumpFile("path_to_dump_file", "symbol_path;srv*");
CsDebugScript.Engine.Context.Initialize(debugClient);
// 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](https://github.com/southpolenator/WinDbgCs/wiki) to get hooked up :)  
Or jump to [WinDbg interactive mode screenshots](https://github.com/southpolenator/WinDbgCs/wiki/WinDbg-interactive-mode-screenshots)...

# Code reference
Now that you are hooked up, cou can take a look at [code reference](http://southpolenator.github.io/WinDbgCsReference/).

# Prerequisites for building the project<commit_msg>Updating to new nuget package that does initialization.<commit_after># `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](https://ci.appveyor.com/api/projects/status/d2j4lxglq0tl1x1i/branch/master?svg=true)](https://ci.appveyor.com/project/southpolenator/windbgcs/branch/master)
[![Code coverage](https://img.shields.io/codecov/c/github/southpolenator/WinDbgCs.svg)](https://codecov.io/github/southpolenator/WinDbgCs)
[![Nuget version](https://img.shields.io/nuget/v/csdebugscript.engine.svg?style=flat)](https://www.nuget.org/packages/csdebugscript.engine/)
[![GitHub release](https://img.shields.io/github/release/southpolenator/windbgcs.svg?style=flat)](https://github.com/southpolenator/WinDbgCs/releases/latest)

If you want newer build than what is available in Releases page or as nuget package, you can click on [Latest build](https://ci.appveyor.com/project/southpolenator/windbgcs/branch/master), select Configuration and click on Artifacts. You can also use private nuget feed [https://ci.appveyor.com/nuget/windbgcs-raewbx34ffcq](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](https://www.nuget.org/packages/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](https://github.com/southpolenator/WinDbgCs/wiki) to get hooked up :)  
Or jump to [WinDbg interactive mode screenshots](https://github.com/southpolenator/WinDbgCs/wiki/WinDbg-interactive-mode-screenshots)...

# Code reference
Now that you are hooked up, cou can take a look at [code reference](http://southpolenator.github.io/WinDbgCsReference/).

# Prerequisites for building the project
{'fraction_non_alphanumeric': 0.11255156157925751, 'fraction_numerical': 0.0035356511490866236, 'mean_word_length': 5.656209150326798, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 28, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1901550', 'n_tokens_mistral': 1638, 'n_tokens_neox': 1536, 'n_words': 415}