Tag: debugging

Zalogowanie ustawień podczas startu applikacji

Zawsze przychodzi ten moment gdy trzeba rozwiązać buga na produkcji i jedyne co mamy to logi aplikacji. Okazuje się oczywiście, że nie ma wszystkich informacji w tych logach. Nie ma nawet całkiem podstawowych informacji. Gdy nic nie widzisz Spotkałem się z sytuacją gdzie był…

Jaka wersja jest na produkcji? – Stamp.Fody

Update Info ze strony projektu: The project is no longer maintained. Sugerowane alternatywy: – https://github.com/GitTools/GitVersionhttps://github.com/Invenietis/CK-Stamp (fork) Aplikacja gdzieś działa. Zakładam, że jedynym środowiskiem nie jest Produkcja, ale są też Stagging, Test, Development (coś w tym rodzaju) i na każdym może być inny…

Decompilatory

Chociaż Resharper ma opcję decompilacji (z której korzystam na co dzień) to warto wiedzieć, że są też inne toole, lepsze w speceficznych warunkach. Nie wymagają one dodawania interesujcej nas biblioteki do projektu. ILSpy To narzędzie lekkie (przynajmniej lżejsze od następnego). Pozwala w prosty sposób…

Moje Unit Testy

Dziś będzie opowieść… Co sądzą ludzie, którzy nie testują Ja, dla przykładu, wierzę w Unit Testy. Kontrastowałem (podpytywałem) to ze stanowiskiem wielu osób. Niektóre osoby odpowiadały, że to nie działa. Następnie podały powody dlaczego tak uważają i od tych powodów chciałbym zacząć: widziałem kogoś…

False sharing

Jestem w trakcie czytania Patterns for Parallel Programming. Jest tam wiele anty-wzorców programowania współbieżnego, a pośród nich False sharing (nawet nie próbuję tego tłumaczyć na polski). Ze względu na wydajność, systemy zarządzania pamięcią wykorzystują cache’owane bloki pamięci najczęściej po 64 lub 128 bajty. Pobieranie…

#if DEBUG

Poniższy kawałek kodu jest celowo wklejony jako obrazek. Ważne jest tutaj, wyszarzenie instrukcji znajdujących się po warunku #else. Oznacza to, że teraz jesteśmy w trybie DEBUG i preprocesor wytnie to co jest dla RELEASE i kompilator tego nawet nie zobaczy. Nie będzie to nawet…

Debugowanie plugina

Z pluginami problem jest taki, że zazwyczaj (dobrze by było) są to osobne projekty w osobnym solution. Wtedy, żeby uruchomił się kod plugina musimy najpierw uruchomić główną aplikację, z której dopiero odpalimy plugina i staniemy na breakpoint’ie. Mam projekt główny, który developuję (powiedzmy ProgramMain)…