Domanda

Mi sento una sorta di concettualmente la progettazione di un plug-in che mi piacerebbe fare qui.Quello che voglio è essere in grado di tag line nel mio codice (qualcosa di simile a come i punti di interruzione sono aggiunti) e quindi ottenere un log di traccia di quando l'esecuzione viene eseguito anche se di loro.Invece di impostare i punti di interruzione (perché non funzionano al di fuori del debugger), mi piacerebbe piuttosto che all'interno del compilatore, l'olio di registrazione di aggiungere l'AST.

Il punto principale sarebbe quello di confrontare le diverse esecuzioni del programma;si blocca se faccio ma non posso fare se B e la maggior parte del codice deve essere lo stesso in modo in cui è divergenti?

Proprio ora sto facendo questo con file IO e un diff strumento;funziona ma è un po ' goffo.

Credo che la domanda è: Questo potrebbe essere fatto e ha qualcosa di simile a questo è stato fatto?

Nessuna soluzione corretta

Altri suggerimenti

Io non conoscere nulla di ciò che esattamente si adatta la vostra descrizione.Tuttavia...

Per il debug-solo uso Visual Studio 2010 è "tracepoint".Queste sono aggiunti nello stesso modo come i punti di interruzione, ma anziché interrompere il programma, è uscita un po ' di testo per l'output di debug.Perché sono state impostate nel debugger, non influenzano il codice sorgente a tutti.

Se si desidera tracciare l'attività in una build di rilascio, quindi basta aggiungere del Sistema.Diagnostica.Traccia.WriteLine() chiama in codice.Questi possono essere controllati utilizzando TraceSwitches, in modo che può essere disattivata per impostazione predefinita e attivata solo se avete bisogno di più informazioni per diagnosticare un problema.A Differenza Di Debug.WriteLine() chiamate sono incluse (per impostazione predefinita) nella build di rilascio nonché build di debug.Nota che traccia le chiamate costano un piccolo overhead anche se il traceswitch è disattivata, in modo da evitare il loro utilizzo in termini di prestazioni regioni critiche del codice.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top