![]() |
BugSonarSistema di controllo bugs e stack di chiamate in procedure VB |
Offerta commerciale - Help on Line - Snapshot
Almeno una volta, nella vita di ogni programmatore capita la richiesta di sviluppare un prodotto funzionante e nel più breve tempo possibile. Anzi, questa richiesta è lungi dall'essere un evento remoto. Chi, come me, deve affrontare ogni giorno le richeste di orde di clienti "inferociti", sà bene che il cliente vuole tutto e NEL PIU' BREVE TEMPO POSSIBILE. Paradossalmente inoltre, la complessità del progetto è inversamente proporzionale, all'urgenza che il cliente ha nell'avere il prodotto finito.
Con tali presupposti è invitabile, per ognuno di noi, la consegna al cliente, nei tempi da lui previsti, di un prodotto che è lungi dall'essere esente da problemi e buchi vari.
E' anche vero che, comunque, il testing diretto del prodotto da parte dell'utente finale è un banco di prova superlativo per l'eliminazione dei buchi del sistema. Il problema nasce però inevitabilmente quanto, una volta installato il programma dal cliente tornate in ditta e subito venite informati dalla vostra segretaria che il cliente da cui siete appena tornati ha chiamato lamentando un non meglio specificato errore nel prodotto da voi installato. Il problema si trasforma in tragedia quando, contattato il cliente vi informa che mentre provava il prodotto gli è apparsa a video una finestra che dice qualcosa del tipo "errore di runtime xxx ...." (mettete voi il numero di errore del VB al posto delle x).
A questo punto non vi resta che tornare dal cliente e pregare di riuscire ad INTUIRE il problema dal comportamente del programma precedente all'errore. In caso negativo avete come ultima spiaggia che il problema sia riproducibile nella vostra stazione di lavoro. Ma molto spesso e soprattuto lavorando su progetti non propriamente banali, gli errori che appaiono solo nella stazione del cliente o comunque non siete in grado di riprodurre il problema sulla vostra stazione per svariati motivi.
In questo caso l'unica soluzione che avevo trovato, finora, era quella di INSTALLARE IL VISUAL BASIC DIRETTAMENTE SULLA STAZIONE DI LAVORO DEL CLIENTE.
Era dunque necessario per me costruire un prodotto che desse maggiori informazioni rispetto alla finestra standard di errore del visual basic. Così è nato il BugSonar.
Il BugSonar è basato su di una libreria che estende la spartana finestra di errore non gestito del Visual Basic per mostrare, a video, informazioni aggiuntive sull'errore irreversibile quali il numero di riga del codice su cui si è presentato l'errore, uno stack delle chiamate precedenti l'errore e informazioni circa la configurazione della macchina su cui sta girando il prodotto. Oltre a queste funzioni il BugSonar permette un debug di quei moduli che non possono essere testati direttamente nell'IDE del VB o permette di vedere il reale comportamento del modulo fuori dal debugger in qunato è possibile inviare le informazioni di stack a un file esterno.
Per gestire l'aggiunta delle righe di codice necessarie al funzionamento della libreria e per gestire l'eliminazione di tali righe una volta compilato il progetto e distribuito all'utente, il BugSonar è stato integrato da un Add-Ins che effettua tali operazioni.
Il BugSonar sta attualmente girando già su quattro miei progetti distribuiti agli utente e a fronte di un non rilevabile rallentamente dell'applicativo, mi ha permesso di risolvere alcuni problemi di tali applicativi in modo molto semplice ricevendo il report dell'errore da esso prodotto sulla macchina del cliente. Il BugSonar gestisce infatti automaticamente l'invio via e-mail del report o la stampa per un invio via fax.