windows服务启动失败

zhrtzc 2010-04-16 05:24:32
我今天建了一个windows services. 程序已经安装成功了。但是不能调试。调试就会报 windows服务启动失败 :"无法从命令行或调试器启动服务。必须首先安装windows服务(使用installutil.exe),然后ServerExplorer、windows服务管理工具或NET START命令启动它。"。
不知道如何解决。
各位大哥大姐们帮我看看吧。
...全文
1994 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
szjarvis 2011-09-22
  • 打赏
  • 举报
回复
学习了,绝对的有用。
caohaimao 2011-08-21
  • 打赏
  • 举报
回复
cd 是什么意思?
zhrtzc 2010-04-27
  • 打赏
  • 举报
回复
谢谢大家了。我来结贴了。
xray2005 2010-04-17
  • 打赏
  • 举报
回复
在你计算机的事件查看器里面,查看具体的错误信息。

如果服务能启动了,可以通过VS调试-附加到进程,进行调试。
ding5818360 2010-04-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hrabeyond 的回复:]
windows服务不可以直接调试地。。。需要安装,方法:
当你的windows服务项目写好了之后,编译,在bin下会生成同名exe,然后打开开始菜单-》vs200x-》vsTools-》vs200x命令提示行,然后cd到你的bin目录下,运行installutil 你的服务名.exe进行安装,安装好了通过我的电脑-》管理-》服务来进行启动和停止。。。

调试的时候,不能用简单的断点来调试,需……
[/Quote]很详细了,就是这样的,不用Debug.Break()也可以,在断点前让线程停几秒也可以
Justin-Liu 2010-04-17
  • 打赏
  • 举报
回复
回答得都很好。
jeremy 2010-04-17
  • 打赏
  • 举报
回复
前段时间遇到了跟楼主相同的问题,其实调试win 服务还是要看情况的,如果是调试 onstart方法内的代码,那么楼上几位朋友提供的方法还不行,那样楼上朋友提供的方法根本进不了onstart方法体内的断点。
可以在程序的入口点加一句:
new yourServiceName().OnStart(args);
来解决,这样再接照上面朋友们提供的附加到进程的办法就可以调试onstart方法体内的代码了
说实话,这样弄来弄去确实挺麻烦的,楼主还不如把代码拷进一个控制台程序或winform程序中调试好了再copy进service 项目
zsuswy 2010-04-16
  • 打赏
  • 举报
回复
服务和普通的应用程序不同,不能开发的时候就直接调试。
如果要调试你必须把服务的功能部分单独拿出来调试,或者先把服务安装好再调试。
staywithc 2010-04-16
  • 打赏
  • 举报
回复
安装windows服务需要使用installutil工具,可使用vs的命令行工具直接执行
installutil + 你的服务exe文件路径

调试也是需要附加到进程
手抓宝 2010-04-16
  • 打赏
  • 举报
回复
windows服务不可以直接调试地。。。需要安装,方法:
当你的windows服务项目写好了之后,编译,在bin下会生成同名exe,然后打开开始菜单-》vs200x-》vsTools-》vs200x命令提示行,然后cd到你的bin目录下,运行installutil 你的服务名.exe进行安装,安装好了通过我的电脑-》管理-》服务来进行启动和停止。。。

调试的时候,不能用简单的断点来调试,需要在调试的位置加入Debug.Break();这句话,然后编译重新安装。然后在vs环境中选择菜单上的“调试-》附加到进程”,然后把“显示所有用户进程”和“显示所有绘画进程”选中,然后在列表中找到你的服务,附加上去即可。当你的服务走到该位置的时候,系统会让你选择调试器,选择你已经打开的vs,就进入断点了。

提示,调试OnStart的时候不用附加,服务启动的时候就走Debug.Break()了。。。。

还有,每次修改代码重新编译的时候,都需要重新安装这个服务,重新安装的时候需要先卸载,执行installutil /u 你的服务.exe

还有,卸载之前要停止服务。不然会出错


62,242

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧