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
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
Change tracking e composition in Entity Framework
Cancellare una run di un workflow di GitHub
Utilizzare gRPC su App Service di Azure
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Creare una custom property in GitHub
Generare velocemente pagine CRUD in Blazor con QuickGrid
Migliorare l'organizzazione delle risorse con Azure Policy
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Introduzione alle Container Queries
Scrivere selettori CSS più semplici ed efficienti con :is()