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
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
Creare una libreria CSS universale: Immagini
Code scanning e advanced security con Azure DevOps
Usare le navigation property in QuickGrid di Blazor
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Creare una libreria CSS universale - Rotazione degli elementi
Utilizzare i primary constructor di C# per inizializzare le proprietà
Creare un webhook in Azure DevOps
Ordine e importanza per @layer in CSS
Eseguire query manipolando liste di tipi semplici con Entity Framework Core
Definire stili a livello di libreria in Angular