41554 blogs · [ { "id": "01a087a6-d1dc-7227-8af7-9d48912b2320", "title": "Writing a .NET Garbage Collector in C#  - Part 10: Finalizers", "url": "https://minidump.net/writing-a-net-gc-in-c-part-10/", "published_at": "2026-06-30T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c53e1f7ad", "title": "Writing a .NET Garbage Collector in C#  - Part 9: Frozen segments and new allocation strategy", "url": "https://minidump.net/writing-a-net-gc-in-c-part-9/", "published_at": "2026-03-17T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c53ff2abf", "title": "Writing a .NET Garbage Collector in C#  - Part 8: Interior pointers", "url": "https://minidump.net/writing-a-net-gc-in-c-part-8/", "published_at": "2026-03-03T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c5421cab1", "title": "Too good to be true: an unexpected profiler trap", "url": "https://minidump.net/an-unexpected-profiler-trap/", "published_at": "2026-02-20T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c54348ac3", "title": "Writing a .NET Garbage Collector in C#  - Part 7: Marking handles", "url": "https://minidump.net/writing-a-net-gc-in-c-part-7/", "published_at": "2026-02-10T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c54357e1d", "title": "Writing a .NET Garbage Collector in C#  - Part 6: Mark and Sweep", "url": "https://minidump.net/writing-a-net-gc-in-c-part-6/", "published_at": "2026-01-27T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c54770e82", "title": "Investigating a deadlock in Visual Studio", "url": "https://minidump.net/investigating-a-deadlock-in-visual-studio/", "published_at": "2025-12-17T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c551db42a", "title": "Using profiler function hooks in .NET with Silhouette", "url": "https://minidump.net/using-function-hooks-with-silhouette/", "published_at": "2025-10-21T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c553036f5", "title": "Measuring UI responsiveness in Resharper", "url": "https://minidump.net/measuring-ui-responsiveness/", "published_at": "2025-09-18T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c55efec70", "title": "Writing a .NET Garbage Collector in C#  -  Part 5", "url": "https://minidump.net/writing-a-net-gc-in-c-part-5/", "published_at": "2025-03-11T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c56e96c8e", "title": "Pro .NET Memory Management 2nd Edition", "url": "https://minidump.net/pro-net-memory-management/", "published_at": "2025-03-04T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c577ce31d", "title": "Writing a .NET Garbage Collector in C#  -  Part 4", "url": "https://minidump.net/writing-a-net-gc-in-c-part-4/", "published_at": "2025-02-18T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c586084ba", "title": "Writing a .NET Garbage Collector in C#  -  Part 3", "url": "https://minidump.net/writing-a-net-gc-in-c-part-3/", "published_at": "2025-02-11T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c5872788a", "title": "Writing a .NET Garbage Collector in C#  -  Part 2", "url": "https://minidump.net/writing-a-net-gc-in-c-part-2/", "published_at": "2025-02-04T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c5872edb3", "title": "Writing a .NET Garbage Collector in C#  -  Part 1", "url": "https://minidump.net/2025-28-01-writing-a-net-gc-in-c-part-1/", "published_at": "2025-01-28T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c59570e0f", "title": "Writing a .NET profiler in C#  -  Part 5", "url": "https://minidump.net/writing-a-net-profiler-in-c-part-5/", "published_at": "2025-01-07T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c596b2656", "title": "Using Windows Error Reporting in .NET", "url": "https://minidump.net/windows-error-reporting/", "published_at": "2024-09-03T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c59e35d93", "title": "Crash in the crash-analyzer", "url": "https://minidump.net/crash-in-the-crashanalyzer/", "published_at": "2024-04-09T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c5a39624a", "title": "GummyCat - Visualize the activity of the .NET garbage collector", "url": "https://minidump.net/gummycat/", "published_at": "2024-02-27T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c5ab3a278", "title": "Dumping the managed heap in C#", "url": "https://minidump.net/dumping-the-managed-heap-in-csharp/", "published_at": "2024-02-13T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c5bb26262", "title": "Exploring .NET frozen segments", "url": "https://minidump.net/exploring-frozen-segments/", "published_at": "2024-01-14T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c5c2dd964", "title": "Memory alignment of doubles in C#", "url": "https://minidump.net/memory-alignment-of-doubles-in-c-1d13e3ce741/", "published_at": "2023-09-30T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c5c8e72e6", "title": "SuppressGCTransition", "url": "https://minidump.net/suppressgctransition-b9a8a774edbd/", "published_at": "2023-08-12T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c5cefecae", "title": "Writing a .NET profiler in C# — Part 4", "url": "https://minidump.net/writing-a-net-profiler-in-c-part-4-c54df903b9ce/", "published_at": "2023-06-10T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c5d5c1110", "title": "VerificationException in .NET Framework when using structs", "url": "https://minidump.net/verificationexception-in-net-framework-when-using-structs-6269eb3df448/", "published_at": "2023-05-01T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c5df75572", "title": "Writing a .NET profiler in C#   — Part 3", "url": "https://minidump.net/writing-a-net-profiler-in-c-part-3-7d2c59fc017f/", "published_at": "2023-03-03T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c5e400775", "title": "Reading .NET performance counters without the PerfCounter API", "url": "https://minidump.net/reading-net-performance-counters-without-the-perfcounter-api-aca5eab08874/", "published_at": "2023-02-12T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c5f0b7d3b", "title": "Writing a .NET profiler in C#  —  Part 2", "url": "https://minidump.net/writing-a-net-profiler-in-c-part-2-8039da001e43/", "published_at": "2023-01-11T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c5fbe32e8", "title": "Using GC.KeepAlive in async methods", "url": "https://minidump.net/c-using-gc-keepalive-in-async-methods-8d20fd79f0a0/", "published_at": "2022-09-05T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c60266ad9", "title": "Why function pointers can't be used on instance methods in C#", "url": "https://minidump.net/c-why-function-pointers-cant-be-used-on-instance-methods-8a99fc99b040/", "published_at": "2022-07-26T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c60b30729", "title": "Writing a .NET profiler in C# - Part 1", "url": "https://minidump.net/writing-a-net-profiler-in-c-part-1-d3978aae9b12/", "published_at": "2022-07-11T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c616f6736", "title": "Writing native WinDbg extensions in C#", "url": "https://minidump.net/writing-native-windbg-extensions-in-c-5390726f3cec/", "published_at": "2022-02-08T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c622494b9", "title": "Finding an instance of thread by id in WinDbg", "url": "https://minidump.net/finding-an-instance-of-thread-by-id-in-windbg-d9fd9a4f1bac/", "published_at": "2021-09-16T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c62b8c721", "title": "Reading AsyncLocal values from a memory dump", "url": "https://minidump.net/reading-asynclocal-values-from-a-memory-dump-8be356a46b29/", "published_at": "2021-09-16T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c62bdaebd", "title": "Analyze your memory dumps in C# with DynaMD", "url": "https://minidump.net/analyze-your-memory-dumps-in-c-with-dynamd-8e4b110b9d3a/", "published_at": "2021-07-16T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c63887594", "title": "Showing unresolved functions in PerfView", "url": "https://minidump.net/showing-unresolved-functions-in-perfview-ab6cd899cb94/", "published_at": "2021-06-02T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c64292871", "title": "An unconventional way of investigating a NullReferenceException", "url": "https://minidump.net/an-unconventional-way-of-investigating-a-nullreferenceexception-5628cca01d6a/", "published_at": "2021-03-16T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c64907ca3", "title": "Debugging a native deadlock in a .NET Linux application", "url": "https://minidump.net/investigating-a-native-deadlock-in-a-net-linux-application-97979a005ebd/", "published_at": "2021-02-09T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c654b05cb", "title": "AccessViolation in ObjectNative::IsLockHeld (part 2 of 2)", "url": "https://minidump.net/accessviolation-in-objectnative-islockheld-part-2-of-2-a703e484113c/", "published_at": "2020-11-25T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c6550cb8a", "title": "AccessViolation in ObjectNative::IsLockHeld (part 1 of 2)", "url": "https://minidump.net/accessviolation-in-objectnative-islockheld-part-1-of-2-7fae4b839f9a/", "published_at": "2020-11-05T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c65b544d5", "title": "Investigating an InvalidProgramException from a memory dump (part 3 of 3)", "url": "https://minidump.net/investigating-an-invalidprogramexception-from-a-memory-dump-part-3-of-3-c1d912075cb1/", "published_at": "2020-09-10T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c65c44b89", "title": "Investigating an InvalidProgramException from a memory dump (part 2 of 3)", "url": "https://minidump.net/investigating-an-invalidprogramexception-from-a-memory-dump-part-2-of-3-daaecd8f3cf4/", "published_at": "2020-09-01T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c667a2024", "title": "Investigating an InvalidProgramException from a memory dump (part 1 of 3)", "url": "https://minidump.net/investigating-an-invalidprogramexception-from-a-memory-dump-part-1-of-3-bce634460cc3/", "published_at": "2020-08-26T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c66bfffab", "title": "Tricked by WebRequest", "url": "https://minidump.net/c-tricked-by-webrequest-209014d99653/", "published_at": "2020-08-14T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c677e20f4", "title": "Monitor GC stats with a startup hook", "url": "https://minidump.net/monitor-gc-stats-with-a-startup-hook-55aa03dedea3/", "published_at": "2020-06-21T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c67916bc6", "title": "Check what .net core GC keywords are enabled without a debugger", "url": "https://minidump.net/check-what-net-core-gc-keywords-are-enabled-without-a-debugger-d616745c0d0e/", "published_at": "2020-05-18T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c6869aa57", "title": "Performance best practices in C#", "url": "https://minidump.net/performance-best-practices-in-c-b85a47bdd93a/", "published_at": "2020-05-12T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c68c9132d", "title": ".NET ThreadPool starvation, and how queuing makes it worse", "url": "https://minidump.net/net-threadpool-starvation-and-how-queuing-makes-it-worse-512c8d570527/", "published_at": "2020-04-27T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c6920b1a1", "title": "Turning your training bike into a Speed remake", "url": "https://minidump.net/turning-your-training-bike-into-a-speed-remake-bceb4ea3d114/", "published_at": "2020-04-14T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c6971b581", "title": "Switching back to the UI thread in WPF/UWP, in modern C#", "url": "https://minidump.net/switching-back-to-the-ui-thread-in-wpf-uwp-in-modern-c-5dc1cc8efa5e/", "published_at": "2020-02-28T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c6a5ea6b0", "title": "Another way to use your debugging tools", "url": "https://minidump.net/another-way-to-use-your-debugging-tools-7e7f498d7a2b/", "published_at": "2020-02-21T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c6ace8988", "title": "Dumping stack objects with ClrMD", "url": "https://minidump.net/dumping-stack-objects-with-clrmd-c002dab4651b/", "published_at": "2019-12-18T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c6bbbf367", "title": "Debugging and fixing the Twitch desktop client", "url": "https://minidump.net/debugging-and-fixing-the-twitch-desktop-client-d1b38a349186/", "published_at": "2019-05-11T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c6bd34b17", "title": "Writing ClrMD extensions for WinDbg and LLDB", "url": "https://minidump.net/writing-clrmd-extensions-for-windbg-and-lldb-916427956f66/", "published_at": "2019-03-14T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c6c3b16a0", "title": "Have some fun with .net core startup hooks", "url": "https://minidump.net/c-have-some-fun-with-net-core-startup-hooks-498b9ad001e1/", "published_at": "2019-02-01T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c6cd6036e", "title": "Implementing Java ReferenceQueue and PhantomReference in C#", "url": "https://minidump.net/implementing-java-referencequeue-and-phantomreference-in-c-827d7141b6e4/", "published_at": "2019-01-09T00:00:00+00:00" }, { "id": "01a087a6-d1dd-7249-9b4c-507c6d969ff7", "title": "Optimizing the WinDbg DML parser", "url": "https://minidump.net/optimizing-the-windbg-dml-parser-9f64419f9/", "published_at": "2019-01-03T00:00:00+00:00" } ] posts Claim your blog
Back to minidump.net
Blog · corpus.blog/blogs/minidump.net/posts

minidump.net

minidump.net

2026

2025

2024

2023

2022

2021

2020

2019