如果我雙擊它,或者如果我從VS2010調試它,但我沒有反應,當我嘗試從運行它時,程序將正確啓動。它曾經工作得很好,但我想取消註冊,然後重新註冊該服務,以解決不同的錯誤,現在我得到以下錯誤:服務沒有響應 - 錯誤1053
Could not start the PFAdapterMng service on Local Computer.
Error 1053: The service did not respond to the start or control request in a timely fashion.
我試圖把日誌在main()
開始,我發現服務在它到達之前就停止了響應。
我試過使用Procmon找出是否有一些註冊表鍵丟失,但我無法通過Procmon找到任何問題。
我也試着重新註冊服務來嘗試修復它,因爲重新註冊服務是導致錯誤的原因。它似乎也沒有解決任何問題。
我已經通過程序參數-UnregServer
和-Service
以確保程序正在註銷併成功註冊,並且它看起來好像正在正確註冊爲服務。
這是因爲註冊表中的錯誤嗎?我沒有看到我的程序在甚至到達main()
之前停止響應的方式或原因。
我還有什麼可以嘗試去調試這個問題?
UPDATE:
所以,我想嘗試運行它後未註冊的服務,並且它似乎正常工作。我看着services.msc
,我仍然看到應用程序是一項服務。過去,在我得到錯誤1053之前,它會在第一次之後消失。我試圖再次取消註冊它,我得到一個消息框:
服務不能被刪除
所以我決定運行使用Visual Studio 2010中的內部參數-UnregServer
應用找出錯誤是。該功能DeleteService()
與錯誤而失敗:不刪除
ERROR_SERVICE_MARKED_FOR_DELETE
服務,直到所有打開的句柄到服務已經關閉。我通過對CloseServiceHandle()
函數的調用,似乎手柄已成功關閉。如果服務正在運行,服務也不會被刪除。我檢查了進程管理器,並且該服務沒有運行。該服務是否因爲服務停止響應而被刪除?
我試過重新啓動我的電腦,它不見了。仍然,我不明白爲什麼我必須重新啓動我的計算機時,服務用於取消註冊,而不需要重新啓動之前,我得到錯誤1053.除非我當然不能註銷該服務,因爲該服務沒有停止,因爲它停止了響應。
我會繼續嘗試一些更多的事情,但我的想法已經不多了。
UPDATE2:
我試圖重建原來的應用程序,我知道作爲一個服務的工作。這意味着問題與我的任何代碼無關。有些東西與服務控制管理器搞砸了。我不明白爲什麼我只有這個應用程序出現此錯誤。我有另一個應用程序與此應用程序進行通信,該應用程序也需要註冊爲服務。我對該應用程序沒有任何問題。它完美的作品。
但由於某種原因,此應用程序突然停止響應。我不知道我改變或破壞了什麼,導致服務掛起,甚至沒有到達我的main()
函數。我現在唯一能想到解決的問題是重新格式化服務器,這不是一個選項。
感謝, Krzys