PDA

View Full Version : [Visual Studio] Debug 'al volo' di windows services


das
25-02-2014, 10:37
Come è possibile effettuare il debug di un servizio windows senza installare il servizio ? Non c'è un modo per dire a Visual Studio: "fai finta che sia installato e fallo girare"?

Thanks

tomminno
25-02-2014, 11:01
Hai 2 opzioni:
1)Avviare il servizio e attaccare il debugger di VS al processo in esecuzione
2)Escludere il codice di avvio del servizio in modo da avviarlo come console e testarlo come un normalissimo programma a riga di comando

Dato che non vuoi installarlo come servizio ti serve la seconda modalità.

das
25-02-2014, 14:42
Ok, userò il metodo 2. Non capisco però perchè non sia prevista in Visual Studio una soluzione più 'elegante'.

tomminno
25-02-2014, 23:12
Ok, userò il metodo 2. Non capisco però perchè non sia prevista in Visual Studio una soluzione più 'elegante'.

Non è colpa di Visual Studio, è colpa di Windows :D
Un servizio è un programma gestito direttamente dal sistema operativo tramite una specifica API, altrimenti non sarebbe un servizio, ma un semplicissimo programma ;)

das
26-02-2014, 12:50
Non è colpa di Visual Studio, è colpa di Windows :D
Un servizio è un programma gestito direttamente dal sistema operativo tramite una specifica API, altrimenti non sarebbe un servizio, ma un semplicissimo programma ;)

Infatti, solo che pensavo Visual Studio riuscisse ad emulare l'ambiente in cui normalmente gira un servizio.
Oppure che avviando il debugging installasse il servizio, vi agganciasse il debugger e una volta terminata l'esecuzione lo disinstallasse.

Insomma di modi ne esistono mille ma evidentemente hanno ritenuto che non convenisse perderci più di tanto tempo. D'altra parte di che mi lamento, VS Express è gratis, e per essere gratis è completissimo.

tomminno
26-02-2014, 13:41
Infatti, solo che pensavo Visual Studio riuscisse ad emulare l'ambiente in cui normalmente gira un servizio.
Oppure che avviando il debugging installasse il servizio, vi agganciasse il debugger e una volta terminata l'esecuzione lo disinstallasse.

Insomma di modi ne esistono mille ma evidentemente hanno ritenuto che non convenisse perderci più di tanto tempo. D'altra parte di che mi lamento, VS Express è gratis, e per essere gratis è completissimo.

Installare e disinstallare il servizio lo puoi fare tramite i Custom Build Event: sul pre build disinstalli e sul post build installi

das
26-02-2014, 19:45
Installare e disinstallare il servizio lo puoi fare tramite i Custom Build Event: sul pre build disinstalli e sul post build installi

Thanks :)