Har skapat en service som jag försöker debugga genom "Attatch To Process". Det är lite stökigt att debugga servicar. Hmm.. om inte jag minns fel kan du lägga in en breakpoint, kompilera, starta tjänsten, vänta tills servicen ramlat på breakpointen och sen köra "Attach to Process".. Man måste göra "Attach to process" och sen lägga in en breakpoint där man vill ha den Problemet med Attach To Process är att du inte kan debugga uppstart av service:en (såvid du inte är VÄLDIGT snabb) eftersom du kan bara göra Attach To Process då processen redan snurrar.Problem med att debugga Windows Service
Startar min service och gör "Attatch To Process".
Debuggen startas med jag kan ej stega till mina stoppunkter. Sv: Problem med att debugga Windows Service
Personligen brukar jag göra så att jag i main lägger in en koll på hur man startats, och om man har angivit -debug på kommandoraden så går jag direkt till serviceproceduren. Sedan anger jag "-debug" i start up options för debugvarianten av projektet. Jag gör alltså hela debuggandet i Visual Studio, utan att behöva göra attach to process.
Inte ett svar på din fråga, men ett bekräftande på att fler än du haft samma problem och hur jag valde att gå runt det.Sv: Problem med att debugga Windows Service
Problemet med Servicar är (tror jag?) att koden inte exekveras i tråden där servicen startades, utan den tråden har "lämnats tillbaka" till ServiceManagern och din kod (måste) därför köras i en egen, via en Timer, egen tråd, eller något annat eventstyrt eller liknande.Sv:Problem med att debugga Windows Service
Sv: Problem med att debugga Windows Service
Ett alternativ är att lägga till en rad först i din OnStart:
#if DEBUG
// Start with debugger if we have compiled in debug.
System.Diagnostics.Debugger.Launch();
#endif
vilken gör att om du har kompilerat i debugg och startar din service (t.ex. via net start <namn>) så kommer du att få upp en dialogruta som säger något i stil med "User breakpoint encountered" och ger dig en lista med olika debuggers och frågar dig vilken du vill debugga med.
Detta tips samt litet mera info om debuggning av services hittar du här: http://weblogs.asp.net/PaulBallard/archive/2005/07/12/419175.aspx.
/Andreas