Rozmawiając z paroma kolegami po fachu zapytałem ich o czym chcieliby poczytać na blogach programistycznych. Jednym z tematów, który się przewinął, był Common Language Runtime, w skrócie CRL. Wychodząc na przeciw oczekiwaniom chciałbym przedstawić wam trochę wiedzy z samym bebechów .NET-a.Platforma .NET Zacznijmy, jak zawsze, od podstaw. Na początku była pustka, potem wielki wybuch… dobra, przyśpieszmy. Czym w ogóle są CLR, IL, JIT? Jeżeli wpadła ci w ręce książka dotycząca .NET (lub inne profesjonalne ...
.NET application is “just” a piece of CIL bytecode to be executed by the .NET runtime. And .NET runtime is “just” a program that is able to perform this task. But what if we write .NET runtime as… .NET appli...
Structures, handles, pointers and managed code in C++. Twelfth part of .NET Internals Cookbook with answers to various C#/.NET/CLR questions.
Marshal-by-bleed, DllMain in C#, timers and more. Eleventh part of .NET Internals Cookbook with answers to various C#/.NET/CLR questions.
Threads, memory model, pumping COM messages, internals of Thread.Abort. Tenth part of .NET Internals Cookbook with answers to various C#/.NET/CLR questions.
GC, card table, brick table, finalizers, f-reachable queue and more. Ninth part of .NET Internals Cookbook with answers to various C#/.NET/CLR questions.
Unions, varargs, global fields. Eighth part of .NET Internals Cookbook with answers to various C#/.NET/CLR questions.
Advantages of boxing, exceptions, well known members, duck typing and more. Seventh part of .NET Internals Cookbook with answers to various C#/.NET/CLR questions.
Loading shim, app domains, size of an empty structure or .NET calling convention. Sixth part of .NET Internals Cookbook with answers to various C#/.NET/CLR questions.
Methods with same name and parameters but different return type, const vs readonly, parameters evaluation and much more. Fifth part of .NET Internals Cookbook with answers to various C#/.NET/CLR questions.
How to add a type constructor or a static field to an interface? How to implement a parameterless constructor for a struct? Fourth part of .NET Internals Cookbook with answers to various C#/.NET/CLR questions.
How to create object without calling constructor? How to call constructor multiple times? How to create an instance of an interface? Third part of .NET Internals Cookbook with answers to various C#/.NET/CLR questions.
How to compact LOH? How to stop out-of-band exceptions? How to resurrect an object? Second part of .NET Internals Cookbook with answers to various C#/.NET/CLR questions.
This page collects all the posts I’ve written within .NET Internals series so far
Sztuka programowania 867 dni, 11 godzin, 1 minutę temu 140 źrodło rozwiń
A few months ago I wrote an article about Zero GC in .NET Core 2.0. This proof of concept was based on a preview version of .NET Core 2.0. However upcoming .NET Core 2.1 contains many improvements in that field so I’ve decided to write follow up post. I’ve also answered one of the questions bothering me for a long time – how would real usage of Zero GC like in the context of ASP.NET Core application?
Nowa seria: Tajemnice CLR. Dziś na tapetę biorę to jak działa metoda GetType() czyli skąd obiekt wie jakiego jest typu.
W poprzedniej części opisałem wymagania wobec projektu MemoryVisualizer. Teraz pora przejść do konkretów, czyli technologii. Dla przypomnienia, piszę narzędzie, które pozwoli za pomocą jakiegoś języka zapytań wizualizować pamięć procesu .NETowego.
Daj się poznać 2016 1860 dni, 3 godziny, 34 minuty temu 94 źrodło rozwiń
Projekt w ramach konkursu 'Daj się poznać' czas zacząć! Siedzę w temacie analizy pamięci w .NET już jakiś czas. Zaczęło się od potrzeby, kilka lat temu - produkcyjne systemy miały jakiś wyciek i trzeba było namierzyć dziada. Złapałem bakcyla. No to napiszę narzędzie!
Daj się poznać 2016 1862 dni, 11 godzin, 24 minuty temu 169 źrodło rozwiń
O IntelliTrace pisałem już wielokrotnie. Do tej pory nie wyjaśniłem jednak, że chociaż IntelliTrace nazywamy debugger'em historycznym to w rzeczywistości IntelliTrace jest profilerem. Dokładniej mówiąc jednym z komponentów składowych IntellITrace jest niezarządzana implementacja interfejsu ICorProfiler. Profiler ten komunikuje się z zarządzaną częścią IntelliTrace, czyli z programem IntellITrace.exe. IntellITrace.exe jest natomiast używane przez Visual Studio...