Lo sviluppo di un software è composto da molteplici fasi che vanno dalla progettazione fino al rilascio finale. Nonostante le tecniche più sicure, il testing manuale o automatizzato, però, non sempre la consegna del prodotto al cliente si trasforma in un successo senza intoppi, errori o bug.
In questo caso, il massimo che si può aspettare dal cliente è la procedura passo passo per riprodurre il problema, rendendo difficile la comprensione e l'individuazione del bug che causa un malfunzionamento, perché il cliente non dispone di un debugger e non ha le capacità necessarie per utilizzarlo.
Per aiutare nella risoluzione del problema viene in aiuto il dump di un processo, possibile in qualsiasi momento dell'applicazione o in caso di crash (un errore grave) attraverso il task manager, come visibile in figura.
Al termine dell'operazione, il sistema indica il nome del file DMP che è stato creato contenente l'intero dump. Il cliente può quindi essere istruito per la creazione del dump e l'inoltro del file. Ottenuto il file, sulla macchina di sviluppo è possibile aprire il file dmp direttamente in Visual Studio 2010 e ottenere delle informazioni riassuntive, come in figura.
Se il file exe sfrutta il .NET Framework 4.0 ed è stato ottenuto compilando in debug, tramite il dump è possibile ottenere la risoluzione dei nomi delle funzioni e delle variabili. Attraverso infatti il link "Debug with mixed", sempre visibile nell'immagini precedente, è possibile avviare una sessione debug, simile a quanto si è abituati, e vedere su quale istruzione erano posizionati i thread e analizzare variabili per poter capire com'era la situazione che si è presentata al cliente.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Routing statico e PreRendering in una Blazor Web App
Effettuare chiamate con versioning da Blazor ad ASP.NET Core
Generare file per il download da Blazor WebAssembly
Disabilitare automaticamente un workflow di GitHub
Sfruttare al massimo i topic space di Event Grid MQTT
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Gestire liste di tipi semplici con Entity Framework Core
Eseguire una GroupBy per entity in Entity Framework
Determinare lo stato di un pod in Kubernetes
Eseguire attività pianificate con Azure Container Jobs
Gestire domini wildcard in Azure Container Apps
Definire stili a livello di libreria in Angular