c# 调试Windows服务程序的方法
2009-11-10 18:02
337 查看
1. 建立windows服务程序,不管你是用win32 API,还是ATL,还是.NET,都可以实现的。
2.将代码写好,编译,保证没有错误。
3.现在到了调试的过程了,首先,在IDE中,找到你要调试的地方,加上断点,然后安装好服务。
服务的安装,其实就是设计到注册表的操作。在.NET平台下,我一般习惯用installutil这个程序来安装服务。安装好之后,我们打开控制面板的“Administrator Tools”,找到"Services"选项,双击打开。在服务列表中,我们能找到我们安装的服务。然后运行这个服务。
4.现在到了关键的地方,在服务开始的时候,就会执行你的代码。为了调试的方便,我是在服务的代码开始处让,程序先Sleep20秒,这样的好处看后面你就知道了。
5.切换回我们的IDE,在Debug菜单,里面有个Process(进程)选项。点击打开,在对话框的进程列表中,选择我们的服务相对应的进程,然后点击旁边的Attach(附加)按钮。这样,IDE就开始加载我们要调试的进程了。加载完毕之后,程序会停顿一下。(为什么?因为我们在服务的开始代码处,Sleep了20秒,喝口水等一下吧)。之后,黄色的光标,跳动到你的断点处,现在就可以像以往一样,来调试这个windows服务了。
之所以在程序开始的地方Sleep20秒,是为我们在IDE附加这个Service进程的时候,留下一段缓冲的时间,不然当你的服务开始运行的时候,你的断点处的代码早就被执行过了,你断点自然不起作用了。明白了吧?呵呵。
还有一些调试windows服务小的窍门,就是写日志文件。这也是调试windows service的一个比较好的方法,虽然比较笨,但是通过阅读你自己留下的日志,也能起到不小的作用的。所以在编写程序的时候,要在关键的地方,记录日志,也是为以后程序的维护提供方便。
2.将代码写好,编译,保证没有错误。
3.现在到了调试的过程了,首先,在IDE中,找到你要调试的地方,加上断点,然后安装好服务。
服务的安装,其实就是设计到注册表的操作。在.NET平台下,我一般习惯用installutil这个程序来安装服务。安装好之后,我们打开控制面板的“Administrator Tools”,找到"Services"选项,双击打开。在服务列表中,我们能找到我们安装的服务。然后运行这个服务。
4.现在到了关键的地方,在服务开始的时候,就会执行你的代码。为了调试的方便,我是在服务的代码开始处让,程序先Sleep20秒,这样的好处看后面你就知道了。
5.切换回我们的IDE,在Debug菜单,里面有个Process(进程)选项。点击打开,在对话框的进程列表中,选择我们的服务相对应的进程,然后点击旁边的Attach(附加)按钮。这样,IDE就开始加载我们要调试的进程了。加载完毕之后,程序会停顿一下。(为什么?因为我们在服务的开始代码处,Sleep了20秒,喝口水等一下吧)。之后,黄色的光标,跳动到你的断点处,现在就可以像以往一样,来调试这个windows服务了。
之所以在程序开始的地方Sleep20秒,是为我们在IDE附加这个Service进程的时候,留下一段缓冲的时间,不然当你的服务开始运行的时候,你的断点处的代码早就被执行过了,你断点自然不起作用了。明白了吧?呵呵。
还有一些调试windows服务小的窍门,就是写日志文件。这也是调试windows service的一个比较好的方法,虽然比较笨,但是通过阅读你自己留下的日志,也能起到不小的作用的。所以在编写程序的时候,要在关键的地方,记录日志,也是为以后程序的维护提供方便。
相关文章推荐
- c# 调试Windows服务程序的方法
- C#编写windows服务程序方法与总结
- windows服务程序调试方法 - 启动直接进入调试
- c# Windows 服务程序编写与调试
- C#Windows服务工程添加安装程序的方法
- Windows服务程序的调试方法
- C#编写Windows服务程序图文教程
- C# 自动程序 windows 无法启动 XXXX 服务 错误5 拒绝访问
- C# Release和debug模式下调试跟踪程序的原则和方法
- VS2008打包c# windows服务程序
- 【转】C# windows服务的创建与调试
- 【推荐】【血的教训】C# windows服务程序中的Timer控件的问题
- C#Windows服务程序开发实例浅析
- C#程序及批处理中确定windows操作系统的方法
- C#语言Windows服务程序测试网站发送HTTP请求超时解决办法
- C# windows服务安装程序的制作
- C#编写Windows服务程序图文教程
- C#Windows服务程序安装
- VS 通过 附加进程的方式来调试 C#服务程序
- 设置c#windows服务描述及允许服务与桌面交互的几种方法(作者博客还有一大堆C#创建服务的文章)