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
Evidenziare una porzione di testo in un pagina dopo una navigazione
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Gestione file Javascript in Blazor con .NET 9
Anonimizzare i dati sensibili nei log di Azure Front Door
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Configuratione e utilizzo .NET Aspire CLI
Esporre un server MCP con Azure API Management
Gestire progetti .NET + React in .NET Aspire
Gestire progetti NPM in .NET Aspire
Selettore CSS :has() e i suoi casi d'uso avanzati
Generare una User Delegation SAS in .NET per Azure Blob Storage
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Sfruttare una CDN con i bundle di ASP.NET
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Le DirectInk API nella Universal Windows Platform
- Effetto turnstile su tutte le pagine con il Windows Phone Toolkit
- Gli oggetti CallOut di Expression Blend 4.0


