1. Conduid
  2. Communication
  3. dotnet-pstacks
MCP server · Communication

dotnet-pstacks

Global CLI tool and MCP stdio server to display merged call stacks

Unclaimed comms
34Low

Scored 5 months ago · breakdown

About dotnet-pstacks

dotnet-pstacks is an MCP server in the Communication category: global CLI tool and MCP stdio server to display merged call stacks.

Install

From source
git clone https://github.com/chrisnas/DebuggingExtensions

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about dotnet-pstacks

Powered by Claude · Grounded in docs

I know everything about dotnet-pstacks. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

DebuggingExtensions

The few "debugging extensions" that have been created at Criteo to help post-mortem .NET applications analysis are now available:

  • as a stand alone tool to load a .NET application memory dump and start automatic thread, thread pool, tasks and timer analysis. zip

  • as a WinDBG extension to get the same level of details plus more commands such as getting a method signature based on its address. zip

  • as a .NET Core console tool to load a .NET application memory dump and show merged threads call stack à la Visual Studio "parallel stacks" (works also on Linux) zip. Note that you could install it as a global CLI tool

    • "dotnet tool install --global dotnet-pstacks" to install it
    • "dotnet pstacks <pid or .dmp file path>" to get your parallel stacks
  • as a .NET standard assembly to build and render parallel stacks from a memory dump file or a live process (on Windows only). zip More analyzers and commands will be added as needed.

  • as a GUI tool first published in 2011 to chase .NET memory leaks. The source code is now available and dumps are droppable into the snapshot listview to compare them automatically.

  • as a .NET Core console tool to analyze duplicated strings in a .NET application (live/memory dump) (works also on Linux) Note that you could install it as a global CLI tool

    • "dotnet tool install --global dotnet-dstrings" to install it
    • "dotnet dstrings <pid or .dmp file path>" to get the statistics

Introduction

Most of the code is detailed in the blog series related to ClrMD:

Part 1: Bootstrap ClrMD to load a dump.

Part 2: Find duplicated strings with ClrMD heap traversing.

Part 3: List timers by following static fields links.

Part 4: Identify timers callback and other properties.

Part 5: Use ClrMD to extend SOS in WinDBG.

Part 6: Manipulate memory structures like real objects.

Part 7: Manipulate nested structs using dynamic.

Part 8: Spelunking inside the .NET Thread Pool.

Part 9: Deciphering Tasks and Thread Pool items.

part 10: Getting another view on thread stacks with ClrMD

The detailed features are available either as a stand alone tool or a WinDBG extension. More commands will be added as needed.

Source Code

The DebuggingExtensions Visual Studio 2017 solution contains three projects:

  1. ClrMDStudio: WPF application that loads a dump file on which commands to be executed

  2. gsose: "Grand Son Of Strike Extension" for WinDBG that exposes the same commands (and more)

  3. pstacks: .NET Core console application that loads a dump file (+ attachs to a live process on Windows) and shows merged parallel stacks

  4. ParallelStacks.Runtime: .NET Assembly (and available as a nuget too) to let you build and render parallel stacks from your own code

  5. LeakShell: .NET WinForms application to easily spot leaky class instances

  6. dstrings: .NET Core console application that displays duplicated strings statistics

These projects depends on Nuget packages:

  • ClrMD: C# library to explore dump files.
  • DynaMD: C# dynamic-based helpers on top of ClrMD.
  • ClrMDExports: Helper to write WinDBG/LLDB extensionss on top of ClrMD.

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About dotnet-pstacks

How do I install dotnet-pstacks?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is dotnet-pstacks safe to use with an AI agent?

Its trust score is 34 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is dotnet-pstacks still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.