Delphi调试服务程序的两种方法
来源:互联网 发布:怎么投诉淘宝客服小二 编辑:程序博客网 时间:2024/06/05 08:49
近日在做服务项目中总结了两种delphi service调试方法,供大家借鉴:
一、编译指令
这种方法原理就是让服务以普通程序的方式来运行。
首先处理项目文件的单元头(RUNASAPP即为编译指令的条件):
1
2
3
4
5
6
uses
{$IFDEF RUNASAPP}
Forms,
{
$ELSE
}
SvcMgr,
{
$ENDIF
}
在调试的时候,加上RUNASAPP这个条件来编译,在正常发布的时候就把这个条件去掉。
由于要调用服务的ServiceStart方法,所以得定义一个变量:
1
2
3
4
{$IFDEF RUNASAPP}
var
b:
Boolean
;
{
$ENDIF
}
同时,原来的应用程序代码也要改成:
1
2
3
4
5
6
7
8
9
Application
.
Initialize;
Application
.
CreateForm(TMyservice, MyService);
{$IFDEF RUNASAPP}
MyService
.
ServiceStart(
nil
, b);
{
$ENDIF
}
Application
.
Run;
{$IFDEF RUNASAPP}
Readln;
{
$ENDIF
}
加Readln的目标是不让ServiceStart完成后,就退出程序。
到此,服务就可以和应用程序一样的,设置断点,按F9后开始调试。
二、依附进程
这种方法的前提是服务能够跑起来(即install并启动成功)。
首先把服务安装并启动,然后在IDE的run菜单中点击”Attach to process…”:
然后点选服务进程即可:
接下来就可以设置断点并调试了。
- Delphi调试服务程序的两种方法
- delphi服务程序(service)的调试方法
- delphi服务程序(service)的调试方法
- [转]两种“动态调试程序”的方法
- 调试和部署JSP程序的两种方法
- 用DELPHI进行NT、2000、2003服务程序的调试
- c# 调试Windows服务程序的方法
- c# 调试Windows服务程序的方法
- Windows服务程序的调试方法
- 调试服务程序的若干方法
- 服务的两种启动方式及实现调用服务中方法的测试程序
- Delphi最小化窗体的两种方法
- delphi调用cmd的两种方法
- delphi调用cmd的两种方法
- delphi调用cmd的两种方法
- delphi读取excel的两种方法
- delphi程序自启动两种方法加实例
- .Net服务程序调试方法
- HTML Parser 替代品 jsoup
- android.content.ReceiverCallNotAllowedException: 解决方法
- poj图论题目
- Java中thread类与Runnable接口的区别
- 理解UIApplication
- Delphi调试服务程序的两种方法
- struts2学习(9)——动态方法调用和通配符
- 网页背景图片拉伸效果
- Java GC 日志详解
- POJ 1844 Sum【简单数学】
- 互联网大会嘉宾眼中的十大创业趋势
- SQL语句 Update和Delete时表关联的写法
- 交换机常用配置(华为)
- JS的几种实现