W rozwoju każdego oprogramowania przychodzi ten moment, że zdarza się pierwszy bug. Potem są już kolejne. No i ja mam za sobą ten etap – aż z wrażenia założyłem Issue we własnym projekcie:
Więcej...
Projekt MemoryVisualizera toczy się w kilku wątkach, ale jak na razie dość mało poświęciłem jednemu z najważniejszych - analizy pamięci. Planuję bardziej rozbudowany post o tym jak można się do pamięci dobrać i co tak naprawdę siedzi pod spodem. Na razie jednak jako "zajawkę" przedstawię sposób, którym się będę przez dłuższy czas posługiwał. A chodzi o świetną bibliotekę ClrMd, która to jako dostępna na Nuget, oferuje interfejs .NETowy do analizy pamięci. Szukając go w Visual Studio pamiętajmy zaznaczyć opcję "Include prerelease" ponieważ jest to wciąż biblioteka w wersji rozwojowej.
Więcej...
Memory Visualizer wymaga udostępnienia języka zapytań odnośnie obiektów i struktur w pamięci. Jak pisałem w części Cypher, co to jest?! , język ten nazywam MQL - Memory Query Language. W istocie jest to jednak po prostu Cypher, który rozszerzę o elementy kontrolujące sposób wyświetlania.
Aby sobie przypomnieć, co chcę osiągnąć, wróćmy do przykładowego rysunku z opisu projektu:
Więcej...