非正常错误,在loadResString处出错

mhhaifeng 2011-08-22 09:16:28
我把程序的错误分为正常错误与非正常错误;所谓正常错误是指自己写的代码的逻辑错误,在delphi调试中可以明显的找到自己错处,而非正常错误就是指在程序代码中找不到的错误。比如说,编译运行程序时,有时出错时,会发现程序运行到了以前写的单元代码处,而在本程序中即根本没有调用该单元?这个问题怎么解决?
比如说我现在遇到的问题,在用ClientSocket/ServerSocket写得程序中,总是会不定地方的loadResString处出现非法访问地址错误,而我的代码中根本没有调用loadResString函数,程序运行一出错,在view cpu中却大多定位到loadResString处,这是什么原因?
比如说,在代码中, temSen.sLocalIP:=Socket.RemoteAddress; 这句出错,我在view cpu 跟踪了很长很长的一段代码,最后也是定位到 loadResString出错,我却找不到原因?我确定Socket,temSen都是没问题的;怎么解决?我现在的运行的程序,一运行出错,都会定位到loadResString,为什么?

比如说,运行程序时,当运行一个函数后,比如
procedure TfrmXJTran.FormCreate(Sender: TObject);
var
fName,sLine:string;
MyIni: TIniFile;
i,j:integer;
bResult:boolean;
IPPara: PIPPara_Record;
begin

fName:=ExtractFilePath(ParamStr(0))+'XJTran.ini';
MyIni := TIniFile.Create(fName);
m_sport:=MyIni.ReadString('代理服务器', '端口号', '80');
bResult:=True;
i:=0;

IPParaList.PNextIPPara:=nil;
IPPara:=@IPParaList;
while bResult do //读取IP对应表
begin

sLine:='IP对应表'+inttostr(i+1);
IPPara.sLocalIP:=trim(MyIni.ReadString(trim(sLine), '本地IP', ''));
IPPara.sRemoteIP:=trim(MyIni.ReadString(trim(sLine), '远程IP', ''));
IPPara.sRemoteport:=trim(MyIni.ReadString(trim(sLine), '远程端口', ''));
if (IPPara.sLocalIP='') or (IPPara.sRemoteIP='') or (IPPara.sRemoteport='') then
begin
bResult:=False;
Break;
end;

inc(i);
if i>0 then //增加一个记录
begin
GetMem(IPPara.PNextIPPara,Sizeof(IPPara_Record));
IPPara:=IPPara.PNextIPPara;
IPPara.PNextIPPara:=nil;
end;

end;
MyIni.Free;

m_Session.CSocket:=nil;
m_Session.Request_Data:=nil;
m_Session.CurSocket:=nil;
Service_Enabled:=false;

ServerSocket.Port:=strtoint(m_sport);
try
ServerSocket.Active:=true;
except
Showmessage('启动服务器失败!');
application.Terminate;
end;
m_Isession:=0;//会话数

end;
运行完程序后,出会出现非法访问地址错误,当我把程序代码删除的只剩m_Isession:=0;//会话数这句,运行完程序后仍然会出错,把程序其它代码,(本函数外的其它代码),也基本删除光,确保没有出现自己的原因使程序出错,运行后,程序还是出错?这是什么原因?

写程序,最怕就是遇到这种问题。都不知怎么下手,各路高手,可不可以共享一下,平时遇到这类问题都是如何解决的?可不可把遇到的各类非正常错误列举出来,并提供解决之道,大家共同学习,共同进步?列出来的都有分,不够再加!
...全文
179 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
mhhaifeng 2011-08-22
  • 打赏
  • 举报
回复
怎么没人回应? 都没遇到过?

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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