The Curious Engineer

All blogs / C# / .NET

minidump.net

minidump.net

Recent content on minidump.net

C# / .NETPerformance / optimizationWindows internals

Posts
58 from 3 Jan 2019 to 29 Sep 2026
Posting
monthly (8 in the last year)
Kind
personal blog
Feed
https://minidump.net/index.xml

2026 7

  1. The hidden trap of fixed buffers in C#
  2. Writing a .NET Garbage Collector in C# - Part 10: Finalizers
  3. Writing a .NET Garbage Collector in C# - Part 9: Frozen segments and new allocation strategy
  4. Writing a .NET Garbage Collector in C# - Part 8: Interior pointers
  5. Too good to be true: an unexpected profiler trap
  6. Writing a .NET Garbage Collector in C# - Part 7: Marking handles
  7. Writing a .NET Garbage Collector in C# - Part 6: Mark and Sweep

2025 10

  1. Investigating a deadlock in Visual Studio
  2. Using profiler function hooks in .NET with Silhouette
  3. Measuring UI responsiveness in Resharper
  4. Writing a .NET Garbage Collector in C# - Part 5
  5. Pro .NET Memory Management 2nd Edition
  6. Writing a .NET Garbage Collector in C# - Part 4
  7. Writing a .NET Garbage Collector in C# - Part 3
  8. Writing a .NET Garbage Collector in C# - Part 2
  9. Writing a .NET Garbage Collector in C# - Part 1
  10. Writing a .NET profiler in C# - Part 5

2024 5

  1. Using Windows Error Reporting in .NET
  2. Crash in the crash-analyzer
  3. GummyCat - Visualize the activity of the .NET garbage collector
  4. Dumping the managed heap in C#
  5. Exploring .NET frozen segments

2023 7

  1. Memory alignment of doubles in C#
  2. SuppressGCTransition
  3. Writing a .NET profiler in C# — Part 4
  4. VerificationException in .NET Framework when using structs
  5. Writing a .NET profiler in C# — Part 3
  6. Reading .NET performance counters without the PerfCounter API
  7. Writing a .NET profiler in C# — Part 2

2022 4

  1. Using GC.KeepAlive in async methods
  2. Why function pointers can't be used on instance methods in C#
  3. Writing a .NET profiler in C# - Part 1
  4. Writing native WinDbg extensions in C#

2021 6

  1. Finding an instance of thread by id in WinDbg
  2. Reading AsyncLocal values from a memory dump
  3. Analyze your memory dumps in C# with DynaMD
  4. Showing unresolved functions in PerfView
  5. An unconventional way of investigating a NullReferenceException
  6. Debugging a native deadlock in a .NET Linux application

2020 13

  1. AccessViolation in ObjectNative::IsLockHeld (part 2 of 2)
  2. AccessViolation in ObjectNative::IsLockHeld (part 1 of 2)
  3. Investigating an InvalidProgramException from a memory dump (part 3 of 3)
  4. Investigating an InvalidProgramException from a memory dump (part 2 of 3)
  5. Investigating an InvalidProgramException from a memory dump (part 1 of 3)
  6. Tricked by WebRequest
  7. Monitor GC stats with a startup hook
  8. Check what .net core GC keywords are enabled without a debugger
  9. Performance best practices in C#
  10. .NET ThreadPool starvation, and how queuing makes it worse
  11. Turning your training bike into a Speed remake
  12. Switching back to the UI thread in WPF/UWP, in modern C#
  13. Another way to use your debugging tools

2019 6

  1. Dumping stack objects with ClrMD
  2. Debugging and fixing the Twitch desktop client
  3. Writing ClrMD extensions for WinDbg and LLDB
  4. Have some fun with .net core startup hooks
  5. Implementing Java ReferenceQueue and PhantomReference in C#
  6. Optimizing the WinDbg DML parser