debug-with-valgrind
Debug crashes, segfaults, and memory errors using valgrind integration with nextest through pre-configured profiles
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Debug crashes, segfaults, and memory errors using valgrind integration with nextest through pre-configured profiles
How to use
Upewnij się, że masz zainstalowany valgrind w swoim systemie oraz że projekt zawiera plik konfiguracyjny
.config/nextest.tomlz zdefiniowanym profilem valgrind i skryptem wrappera. Skill zakłada, że ta konfiguracja jest już przygotowana w repozytorium.Gdy test ulegnie awarii z błędem typu SIGSEGV lub podejrzewasz wyciek pamięci, otwórz terminal w katalogu projektu i uruchom test pod valgrind za pomocą komendy
cargo nextest run --profile valgrind -p NAZWA_PAKIETU --test NAZWA_PLIKU_TESTÓW NAZWA_TESTU. ZastąpNAZWA_PAKIETUnazwą pakietu zawierającego test,NAZWA_PLIKU_TESTÓWnazwą pliku testów, aNAZWA_TESTUnazwą konkretnego testu, który chcesz debugować.Valgrind automatycznie przeanalizuje wykonanie testu i wykaże dokładną linię kodu, w której doszło do nieprawidłowego odczytu lub zapisu do pamięci. Nextest sformatuje i wyświetli wyniki w czytelny sposób, wskazując typ błędu i jego lokalizację.
Przeanalizuj raport valgrinda, zidentyfikuj źródło problemu w kodzie i wprowadź niezbędne poprawki w logice zarządzania pamięcią lub dostępu do zmiennych.
Po naprawie uruchom test ponownie z profilem valgrind, aby potwierdzić, że błąd został usunięty i nie pojawiają się nowe problemy z pamięcią.
Dla pełnej weryfikacji uruchom test również bez profilu valgrind, używając standardowego polecenia
cargo nextest run, aby upewnić się, że naprawa nie wprowadził nowych problemów w normalnym trybie wykonania.