Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
Using NativeAOT to write a .NET GC in C#.
-
Using NativeAOT to write a .NET GC in C#.
-
Using NativeAOT to write a .NET GC in C#.
-
Sometimes the most convincing performance gains deserve a second look.
-
Using NativeAOT to write a .NET GC in C#.
-
Using NativeAOT to write a .NET GC in C#.
-
A short investigation that showcases one of the most common problem faced when writing a profiler.
-
In this article, we see what are function hooks, and how to use them in .NET with Silhouette.
-
A walkthrough of how I built a custom profiler to measure UI responsiveness, using .NET and Silhouette.
-
Using NativeAOT to write a .NET GC in C#.
-
Pro .NET Memory Management 2nd Edition is available!
-
Using NativeAOT to write a .NET GC in C#.
-
Using NativeAOT to write a .NET GC in C#.
-
Using NativeAOT to write a .NET GC in C#.
-
First part of a series of articles about writing a .NET Garbage Collector in C# using NativeAOT.
-
Part 5 of the series about using NativeAOT to write a .NET profiler in C#.
-
A look into how to use Windows Error Reporting to collect crash information for your .NET apps.
-
When the tool you write to debug crashes crashes.
-
A new tool to visualize the activity of the .NET garbage collector.
-
Using unsafe hacks to walk the managed heap from within a .NET application, without relying on the debugging API.
-
Exploring a little-known API allowing to allocate managed objects outside of the managed heap.
-
A deep dive into the weird tricks used by the .NET allocator to align arrays of doubles.
-
Deep-dive into the SuppressGCTransition attribute introduced in .NET 5.
-
Part 4 of the series about using NativeAOT to write a .NET profiler in C#, learning many things about native interop in the process.
-
A surprising error occuring when using C# 7.3 with partial trust.
-
Part 3 of the series about using NativeAOT to write a .NET profiler in C#, learning many things about native interop in the process.
-
A faster and safer way to read .NET performance counters from within.
-
Part 2 of the series about using NativeAOT to write a .NET profiler in C#, learning many things about native interop in the process.
-
GC.KeepAlive may not work the way you intend when using it in async methods.
-
The C# specification indicates that function pointers can only be used on static methods.
-
Part 1 of the series about using NativeAOT to write a .NET profiler in C#, learning many things about native interop in the process.
-
Using NativeAOT and ClrMD to write a native WinDbg extension in .NET.
-
This article explains how AsyncLocal values are stored in .NET and how to retrieve them from a memory dump.
-
How to find an instance of System.Threading.Thread by id in WinDbg, with a .NET Core memory dump.
-
Browse memory structures from a memory dump in C#, just like you would with ClrMD, but in a more fluent way.
-
How to tell PerfView to stop grouping unresolved functions under the same “?!?”
-
Digging into a bug in the .NET ARM64 runtime, learning about dispatch stubs, and using that knowledge to diagnose a NullReferenceException.
-
This story begins when one of our integrations tests started got stuck on one PR that seemingly impacted unrelated code.
-
This is the second part of an investigation where I tried to understand why an application was randomly crashing with an AccessViolationException.
-
Investigating a crash in a .NET application, caused by an AccessViolationException when inspecting the state of a lock.
-
In this series of article, we’re retracing how I debugged an InvalidProgramException, caused by a bug in the Datadog profiler, from a memory dump sent by a customer.
-
In this series of article, we’re retracing how I debugged an InvalidProgramException, caused by a bug in the Datadog profiler, from a memory dump sent by a customer.
-
In this series of article, we’re retracing how I debugged an InvalidProgramException, caused by a bug in the Datadog profiler, from a memory dump sent by a customer.
-
Even with years of experience, WebRequest managed to surprise me.
-
Using startup hooks to automatically fetch GC metrics from any .net core application.
-
How to inspect arbitrary values in the memory of a .net process on Linux… And find an unexpected bug in the process.
-
Non-exhaustive list of code patterns to avoid in C#, either because they are risky or perform poorly.
-
Explaining the ThreadPool starvation issue, and how it can be made worse by the way work-items are queued.
-
Inspiration for quarantine days: how to connect a Raspberry Pi to a training bike to stream the speed to a computer and pause a video when below 20 km/h
-
Leveraging the async machinery to transparently switch to the UI thread when needed.