方法一:
1.调试delphi 写的服务程序,有这么一个办法。原来每次都是用attach to process方法,很麻烦。并且按照服务线程的执行线路,可能会停不到想要的断点。笨办法是,在procedure TsvcFrm.ServiceExecute(Sender: TService);中想要下断的语句前加个人定胜天的sleep(20000),但实际上这种办法是主观臆测的。可行,没问题。记得大学时,俺一同学,也会修电视,他的办法是弄个小锤子,四处敲击,没两下就好了,和我用万用表的方法不一样,万用表他根本不会用。而且产生的效益比我的要乐观。毕业了,他回家开个网吧,也算是做IT,而我成了一位对编程颇有研究的IT业余人士,结果他收入还是比我高。日,下辈子,老子扛大炮去修劳力士去。回忆回忆过去,展望展望未来,无限感慨。上面的方法是可以的,如同锤子,仔细了解下服务程序的执行过程,你会发现,用下面的方法,就可以把服务程序当普通程序调试了。
program svcProxy;
uses
SvcMgr,
scvmain in ’scvmain.pas’ {svcFrm: TService};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TsvcFrm, svcFrm);
svcFrm.ServiceExecute(nil);
//Application.Run;
end.
如上修改dpr文件,就可以直接在serviceexecute过程中下断了,what a good idea. OK ,debug d

本文介绍了两种调试Delphi服务程序的方法。方法一是通过修改dpr文件,直接在ServiceExecute过程中设置断点进行调试。方法二是对于拥有管理员权限的用户,可以直接附加到服务进程进行调试。这两种方法使得调试Delphi服务程序变得更加便捷。

733

被折叠的 条评论
为什么被折叠?



