有時候不可避免的要建些windows服務。既然寫**,就需要除錯,由於這個東西搞的人不多,每個人除錯的方法也不全,所以在下在這裡小結一下除錯方法。
一:建立乙個window service
檔案->新建專案->windows 服務。
然後我們直接執行試試,然後提示如下:
這樣我們的環境就基本搭建好了,然後就是服務的安裝,執行bin\debug\install\install.bat即可。
一:普通除錯
所以我們啟動服務,然後通過vs附件該服務程序,然後就可以除錯了。如下:
二:特殊除錯
如果我們不想建立服務就想除錯**,其實可以採用其他的替代方式進行,只不過要改**。
我們找到程式的入口:program.cs。
原**如下:
1 static class program修改後**如下:2 ;
13 servicebase.run(servicestorun);
14 }
15 }
1 protected override void onstart(string args)2
9 10 private void timer_elapsed(object sender, elapsedeventargs e)
11
14 15 protected override void onstop()
16
18 19 public void test(string args)
20
1 static class program這樣,我們就可以進行除錯了。2
15 return;
16 17 servicebase servicestorun;
18 servicestorun = new servicebase
19 ;
22 servicebase.run(servicestorun);
23 }
24 }
二:onstart常規除錯
有時候我們想正常的除錯onstart方法,但是,啟動服務後這個方法已經執行了,那麼我們應該怎麼除錯捏。
我們可以在onstart方法體前面加個debugger.launch();就可以很愉快的除錯了。如下:
1 protected override void onstart(string args)啟動服務後彈出如下:,然後選中對應的解決方案即可。2
Windows服務除錯小結(附Demo)
有時候不可避免的要建些windows服務。既然寫 就需要除錯,由於這個東西搞的人不多,每個人除錯的方法也不全,所以在下在這裡小結一下除錯方法。一 建立乙個window service 檔案 新建專案 windows 服務。然後我們直接執行試試,然後提示如下 這樣我們的環境就基本搭建好了,然後就是服務...
Windows服務程式的除錯
摘自 msdn 1.由於服務必須從服務控制管理器的上下文中執行,而不是從 visual studio 中執行,因此除錯服務不像除錯其他 visual studio 應用程式型別那樣簡單。若要除錯服務,必須首先啟動服務,然後將乙個偵錯程式附加到正在執行服務的程序中 attachtoprocess 附加...
如何 除錯 Windows 服務應用程式
除非知道程序是什麼,並且知道附加到程序或可能取消程序所帶來的後果,否則不要附加到程序。例如,如果附加到 winlogon 程序,然後停止除錯,系統就會暫停,因為沒有 winlogon,系統無法執行。只能將偵錯程式附加到正在執行的服務。附加程序會中斷服務的當前執行 它並不真正終止或暫停服務的處理。也就...