2013-05-24 11 views
6

Ho problemi con il debug in tempo reale di un servizio Windows su una macchina remota. Questa macchina è protetta da un firewall accessibile solo tramite desktop remoto. Includo le istruzioni Debug.WriteLine tramite il mio codice, al posto di Console.WriteLine. Non molto tempo fa ho trovato un'applicazione di Microsoft denominata Debug View. È stato utile nel debug di moduli e applicazioni WPF ma non mostrerà le istruzioni Debug.WriteLine per un servizio in esecuzione. Sarei estremamente felice se potessi vedere queste dichiarazioni di debug. C'è un modo per fare questo?Utilizzo della vista di debug con un servizio di Windows

Nota: il progetto è compilato in modalità di debug in quanto è possibile visualizzare le istruzioni di debug in Debug View durante l'installazione del servizio.

+0

hai usato 'Debugger.Launch()' nel servizio di Windows – Saravanan

+0

Hai pensato di usare un quadro di registrazione come log4net – aquaraga

+0

No, ho creato un logger che scrive ai file. Dovrò rivedere log4net. – JMooney

risposta

9

Eseguire Debug View come Administrator, selezionare il menu Capture, quindi verificare che Capture Global Win32 sia selezionato. Questo catturerà l'output Debug.WriteLine dal tuo servizio (e da qualsiasi altro servizio). Si consiglia di utilizzare un filtro per impedire che Debug View visualizzi l'output a cui non si è interessati. Prendere in considerazione il prefisso dei messaggi di debug del servizio con il nome del servizio in modo che sia possibile filtrarli.

Problemi correlati