怎样调试service application?(200分)

  • 主题发起人 主题发起人 Amorer
  • 开始时间 开始时间
A

Amorer

Unregistered / Unconfirmed
GUEST, unregistred user!
用delphi5 help中介绍的方法不能调试,有没有其他的方法,能在bde中调试?
 
用写日志的方式调试

多用日志记录程序执行的状态 根据日志判断运行情况

没有很好的方法
 
暂时也只有先这样了!
 
NT Service程序在集成环境中不好调试的,你可以这样:在需要调试的地方用OutputDebugString这个API函数输出调试信息,用Dbgview这个工具去查看调试信息即可。
 
如果知道Service Application与普通Application的区别,那就可以先在普通程序中调试好
再转成Service, 看看我的一个程序的DPR文件代码:

begin
if RunInServiceMode then //如果使用Service方式
begin
SvcMgr.Application.Initialize;
SvcMgr.Application.CreateForm(TServiceShutDown, ServiceShutDown);
SvcMgr.Application.Run;
end
else //普通应用程序方式
begin
Forms.Application.Initialize;
Forms.Application.CreateForm(TFormMain, FormMain);
Forms.Application.Run;
end;
end.
 
查看了msdn学习了一下原理,的确是在delphi的TServiceApplication中的TServiceStartThread.Execute;中有这样的语句 :StartServiceCtrlDispatcher总是返回一错误代码,说不能连接到服务管理器,结果service代码还没有执行就退出了!看来也只有靠打印调试语句了。 各位的都是好方法,3ks all!:-)!
 
后退
顶部