Quando e come è opportuno registrare un report sui bug?
Suggerimento
Usare la voce di menu Segnala un problema in Visual Studio, che invierà informazioni di diagnostica insieme al report sui bug per risolvere il problema.
Sono disponibili istruzioni dettagliate per Visual Studio 2019 o Visual Studio 2017 e Visual Studio per Mac.
È possibile cercare i report esistenti nel sito Web della community degli sviluppatori di Visual Studio.
Inviare un bug se...
Si dispone di un set di passaggi che si ritiene che gli ingegneri saranno in grado di usare per riprodurre un problema.
OPPURE
È possibile descrivere attentamente i sintomi visibili del problema, soprattutto se è anche possibile descrivere alcune circostanze precise correlate al problema.[1]
Procedure consigliate per risolvere i bug in modo rapido ed efficiente
Cercare nella community degli sviluppatori di Visual Studio e nel Web i report sui bug esistenti o i suggerimenti sull'utilizzo che potrebbero risolvere direttamente il problema.[2][3]
Descrivere il problema nel modo più chiaro e conciso possibile, inclusa una descrizione di ciò che è accaduto ed è previsto che si verifichi.
Includere eventuali tracce dello stack pertinenti, testo del messaggio di errore o log di arresto anomalo (se si usa la funzionalità Segnala un problema , queste possono essere incluse automaticamente). [4]
Annotare anche eventuali messaggi di errore importanti visualizzati negli allegati di screenshot come testo normale.
Includere un piccolo test case autonomo che riproduce il bug con il minor numero possibile di codice. Se non è possibile riprodurre il problema con un nuovo progetto (creato usando uno dei modelli predefiniti), comprimere un progetto che dimostra il problema e collegarlo al report dei bug. Rendere il progetto di esempio il più semplice possibile prima di allegarlo.[5][6]
Descrivere l'ambiente in cui è stato rilevato il bug, inclusi il sistema operativo e le versioni di Xamarin e le eventuali dipendenze.
Dettagli aggiuntivi
^ Idealmente, la descrizione dei "sintomi visibili" dovrebbe includere dettagli sufficienti in modo che altri clienti possano verificare se vengono visualizzati lo stesso problema (stessi messaggi di errore, stessa riduzione delle prestazioni, stessa traccia dello stack da un arresto anomalo e così via). Per "circostanze precise", un buon esempio sarebbe se si può dire qualcosa di simile: "Normalmente ho colpito il problema 75% del tempo, ma se cambio questa cosa allora posso evitare completamente il problema". Un altro esempio simile di una "circostanza precisa" è se il downgrade a una versione precedente di Xamarin arresta il problema.
^ Come ci si aspetterebbe, i frammenti di testo di errore (o qualsiasi altro testo descrittivo univoco) sono in genere i termini di ricerca migliori. Se il report di bug esistente è incompleto, è possibile aggiungere dettagli o inviare un nuovo report sui bug.
^ Un'altra domanda valida è se lo stesso problema è stato segnalato per qualsiasi app Java, Objective-Co Swift. In tal caso, il problema è molto probabile che faccia parte di Android o iOS stesso anziché parte di Xamarin.
^ Ecco alcuni esempi di informazioni da includere:
Per gli errori che si verificano durante la compilazione di un progetto, includere l'output completo della compilazione diagnostica nel report sui bug.
Per gli errori che si verificano durante la compilazione o il debug di un progetto iOS da Visual Studio, eseguire la Guida > di Xamarin > Zip Logs dopo aver raggiunto l'errore e includere il file di .zip risultante nel report sui bug.
Per eccezioni o arresti anomali nelle app Android o iOS, includere i log di debug pertinenti per le app Xamarin.Android e Xamarin.iOS.
^ Se possibile per il problema specifico, un'opzione consiste nel ricreare il problema aggiungendo un numero ridotto di file dalla soluzione originale in una nuova soluzione. Il team di Xamarin spesso sarà in grado di analizzare i problemi anche nei test case più grandi (presupponendo che i passaggi da riprodurre siano spiegati chiaramente), ma i test case più semplici offrono la migliore probabilità che il bug venga risolto rapidamente.
^Se non è possibile riprodurre il problema aggiungendo un numero ridotto di file a una nuova soluzione, è possibile comprimere e allegare l'intera cartella della soluzione per l'app completa. Eliminare le
bin
cartelle ,obj
,Components
epackages
per rendere più piccolo il file ZIP. L'IDE e il processo di compilazione in genere ripristinano o ricreano il contenuto di queste cartelle in base alle esigenze. È anche possibile eliminare il numero di file di codice e di risorse dal progetto desiderato, purché la soluzione risultante dimostri comunque il problema originale.