RazorSharp
RazorSharp copied to clipboard
Low-level utilities and tools for working with the CLR and memory.
RazorSharp
Low-level utilities and tools for working with the CLR, CLR internal structures, and memory.
Notice
For a new and improved .NET 5 implementation, see Novus.
Goals
RazorSharp
aims to provide functionality similar to that of ClrMD
, WinDbg SOS
, and Reflection
but in a more detailed fashion while also exposing more underlying metadata and CLR functionality.
RazorSharp
also allows for manipulation of the CLR and low-level operations with managed objects. Additionally, RazorSharp
doesn't require attachment of a debugger to the process to acquire metadata. All metadata is acquired through memory or low-level functions.
Usage
Some structures of RazorSharp
must be set up to use certain features. Their respective type initializers and constructors should do this automatically, but this is still being tested as static initialization can be tricky.
Features
- Calculating heap size of managed objects
- Taking the address of managed objects
- Pointer to managed types
- Pinning unblittable objects
- And much more
Compatibility
- 64-bit (only partial 32-bit support)
- Windows
- .NET CLR
- .NET Framework 4.7.2
- Workstation GC
License
Icons made by Freepik