NT服务程序,怎么调试?

shiningstar 2002-03-14 10:58:25
调试时用/install吗?

我用/uninstall怎么卸不了?在列表里还有.
...全文
115 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
caoguangxin 2002-03-15
  • 打赏
  • 举报
回复
你写出服务程序后,先/install,这时在SCP里就会看到你的服务的名字,在这个时候你再改你的EXE文件是不用重新install的,所以你可以先install,然后慢慢改你的EXE文件。
调试NT的服务程序是件麻烦事,在IDE环境里调试简直是不可能,但你可以用其他的办法,例如在你的程序里写日志,分段调试,分段写日志,将程序运行的状况写到日志里,调试成功一段后,再继续下一段。肯定是要麻烦一点的了,绝不象写一般的EXE文件那么轻松,我写的那个NT服务程序是24X7不间断运行的,而且程序每秒种都要运行N次,调试的时候可把我累坏啦!
suigui 2002-03-15
  • 打赏
  • 举报
回复
我以前写过一个,不像一般的程序那么好运行调试。
按 joney1(不懂编程) 说的,先把实现部分从服务程序里
分离出来在另一个项目里调试好。
通过后移到服务程序里。服务程序编译好后,注册/install。然后运行。
当然这可能还有问题,最好是把要输出的信息写到事件日志查看器里。
通过看事件日志查看器的输出来了解运行情况。要改动时,
先卸载它/uninstall,改动后从新编译,
再install运行,直到成功吧。
当然要在SCP控制它。



shiningstar 2002-03-14
  • 打赏
  • 举报
回复
那调试的时候能不能让它别自己关闭,要不怎么调试呢?
kingcaiyao 2002-03-14
  • 打赏
  • 举报
回复
要安装服务程序,就一定要用开关/install,然后在Control Panel中启动,这是第一次启动服务,下次,你所做的服务程序就会根据你在编程中设计的是自动启动或是手工启动来进行启动
shiningstar 2002-03-14
  • 打赏
  • 举报
回复
那调试的时候,不用install吧
不install,怎么运行一会自己就关了?
dev_uoboy 2002-03-14
  • 打赏
  • 举报
回复
其实已经卸载了,重起侯就看不见了。
shiningstar 2002-03-14
  • 打赏
  • 举报
回复
You must launch the service quickly (within 15-30 seconds of application startup) because the application will terminate if no service is launched.
从帮助上看到的,好像是会自动关闭,到底要怎么调试呀?
suigui 2002-03-14
  • 打赏
  • 举报
回复
/uninstall后,最好刷新一下。
suigui 2002-03-14
  • 打赏
  • 举报
回复
我以前写过一个,不像一般的程序那么好运行调试。按 joney1(不懂编程) 说的,先把实现部分从服务程序里分离出来在另一个项目里调试好。通过后移到服务程序里。服务程序编译好后,注册/install。然后运行。当然这可能还有问题,最好是把要输出的信息写到事件日志查看器里。通过看事件日志查看器的输出来了解运行情况。要改动时,先卸载它/uninstall,改动后从新编译,再install运行,直到成功吧。当然要在SCP控制它。
kingcaiyao 2002-03-14
  • 打赏
  • 举报
回复
它本来就不会自已关闭,除非你在程序中设置了这种功能,在你编写一个服务程序后,接着你编译运行它,请务必记信在Run->Parameters->Local页面下的Parameters加上/install参数,这时你的服务程序就会以服务程序的名称加到SCP中(Service Control Panel),这时你再在SCP中启动它,或暂停它或终止它,都可以,如果你要卸载它,记住首先在SCP中终止它,再在C++ Builder IDE环境下,Run->Parameters->Local页面下的Parameters加上/uninstall参数,就可以卸载了。你加载成功和卸载成功,都会有提示信息的,如:Service installed successfully/Service uninstalled successfully.
8追8梦8 2002-03-14
  • 打赏
  • 举报
回复
你先吧实现部分从服务程序里分离出来在另一个项目里调试,通过后在移到服务程序里运行:)
在服务程序里尽量少用同步、阻塞之类的东西,特别是自动启动的,我吃了一个亏,害的机子等了半个多小时才启动起来:)
8追8梦8 2002-03-14
  • 打赏
  • 举报
回复
你先吧实现部分从服务程序里分离出来在另一个项目里调试,通过后在移到服务程序里运行:)
在服务程序里尽量少用同步、阻塞之类的东西,特别是自动启动的,我吃了一个亏,害的机子等了半个多小时才启动起来:)

552

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 茶馆
社区管理员
  • 茶馆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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