最主要是怎么调试,有没有逐行运行的方法之类的方法?
谢谢。
新建/service就是一个服务程序哟;
我的方法稍稍麻烦一点儿。
定义如下的方法,全局的
procedure TxtWrite(str : string);
var
strFile : TextFile;
begin
assignfile(strFile,c:\test.txt);
append(strFile);
try
writeln(strFile,str);
finally
CloseFile(strFile);
end;
end;
在服务程序的易出问题的前后加入
constructor TSingleTran.Create(OrganRoot:string;ListenPort:integer);
begin
inherited Create;
FConnCount := 0;
TxtWrite(TDataTranProcess.Create(OrganRoot)前);//之前
dtProc := TDataTranProcess.Create(OrganRoot);
TxtWrite(TDataTranProcess.Create(OrganRoot)后);//之后,
lstTables := TStringList.Create;
trans:= TTransDB.Create(nil);
idSvr := TIdTCPServer.Create(nil);
idSvr.DefaultPort := ListenPort;
idSvr.OnConnect := idSvrConnect;
idSvr.OnExecute := idSvrExecute;
idSvr.Active := true;
end;
如果TDataTranProcess.Create里边也有可能出错,那就把TxtWrite方法放到里面的某句前、后。这种方法能确定是哪句出的问题
调试上确实是比较麻烦的
怎么开发,找Google就N个例子的
_____________________
http://lysoft.7u7.net
>>最主要是怎么调试
一般是写到 log 文件
调试可以的:
首先,在"Run|Parameters..."窗口“Parameters”中使用参数/Install运行服务程序,此时服务安装到系统中,然后用服务管理器启动安装的服务,回到Delphi中,到菜单Run-->Attach Process中,Attach到服务的Exe程序即可,如果找不到这个Exe,选择下面的“Show System Processes”。此时可以正常下断点等。
需要注意的是:
1.Attach会跳出一个错误的窗口,不要管它,关闭后直接F4即可。
2.如果不调试后,要把/Install换成/UnInstall,卸载服务,然后把Parameters参数清空。反正只要提示大概意思是“服务已经存在”或者“服务不存在”,就要看Parameters的参数值。
3.再次调试/Install的时候,要把刚刚打开的服务管理器窗口关闭,不然会提示大概意思是“服务已经被禁止”。
“服务管理器“ 是控制面板中的”管理工具“里面的”服务“ win2000下
先作成程序,调试没有问题了再转成服务。
另做一个 程序!调试好了,两边基本都好了。