TIdTCPServer总是有莫名其妙的错误

tengco 2013-03-18 11:16:46
Delphi7 默认的的indy7里的TIdTCPServer总是有莫名其妙的错误——不经常出现,但出现了就杯具了。。。。
跟踪的堆栈信息如下:

EurekaLog 5.1.3

Application:
------------------------------------------------------
1.1 Start Date: Fri, 8 Mar 2013 17:12:59 +0800
1.2 Name/Description: Test Server
1.3 Version Number: 1.0.204.30
1.4 Parameters:
1.5 Compilation Date: Tue, 5 Mar 2013 15:48:24 +0800

Exception:
--------------------------------------------------------------------------------------------------------------
2.1 Date : Sat, 9 Mar 2013 07:37:06 +0800
2.2 Address: 00404F60
2.3 Module : MyFirTestServer.exe
2.4 Type : EAccessViolation
2.5 Message: Access violation at address 00404F60 in module 'MyFirTestServer.exe'. Read of address 40E42FC2.

Active Controls:
---------------------
3.1 Form Class :
3.2 Form Text:
3.3 Control Class:
3.4 Control Text :

Computer:
---------------------------------------------------------------------
4.1 Name: SERVER02
4.2 User: SYSTEM
4.3 Total Memory: 2048 Mb
4.4 Free Memory : 2048 Mb
4.5 Total Disk: 184.05 Gb
4.6 Free Disk : 59.47 Gb
4.7 System Up Time: 2 days, 15 hours, 47 minutes, 8 seconds
4.8 Processor : Intel(R) Xeon(R) CPU X3430@ 2.40GHz
4.9 Display Mode: 1024 x 768, 32 bit

Operating System:
--------------------------------------
5.1 Type: Microsoft Windows 2003
5.2 Build # : 3790
5.3 Update: Service Pack 2
5.4 Language: Chinese

Network:
---------------------------------------------------
6.1 IP Address: 192.168.000.003 - 000.000.000.000
6.2 Submask : 255.255.255.000 - 000.000.000.000
6.3 Gateway : 192.168.000.001 - 000.000.000.000
6.4 DNS 1 : 061.177.007.001 - 000.000.000.000
6.5 DNS 2 : 000.000.000.000 - 000.000.000.000
6.6 DHCP: OFF - ON

Call Stack Information:
-----------------------------------------------------------------------------------------------------------------------------------------
|Address |Module |Unit|Class |Procedure/Method|Line |
-----------------------------------------------------------------------------------------------------------------------------------------
| Exception Thread: ID=4588; Priority=0; Class=TIdPeerThread|
|---------------------------------------------------------------------------------------------------------------------------------------|
|00404F60|MyFirTestServer.exe|system.pas||_LStrClr|11656|
|00404F54|MyFirTestServer.exe|system.pas||_LStrClr|11652|
|00405D2E|MyFirTestServer.exe|system.pas||_FinalizeArray|14404|
|00405CE4|MyFirTestServer.exe|system.pas||_FinalizeArray|14362|
|00405CB8|MyFirTestServer.exe|system.pas||_FinalizeRecord |14276|
|00405C98|MyFirTestServer.exe|system.pas||_FinalizeRecord |14257|
|0040407A|MyFirTestServer.exe|system.pas|TObject |CleanupInstance |8489 |
|00404068|MyFirTestServer.exe|system.pas|TObject |CleanupInstance |8479 |
|00403FBD|MyFirTestServer.exe|system.pas|TObject |FreeInstance|8365 |
|004043CE|MyFirTestServer.exe|system.pas||_ClassDestroy |9060 |
|004043CC|MyFirTestServer.exe|system.pas||_ClassDestroy |9060 |
|00509356|MyFirTestServer.exe|IdSocketHandle.pas|TIdSocketHandle |Destroy |130|
|0040400C|MyFirTestServer.exe|system.pas|TObject |Free|8385 |
|00404004|MyFirTestServer.exe|system.pas|TObject |Free|8384 |
|00413577|MyFirTestServer.exe|sysutils.pas||FreeAndNil|16274|
|0041355C|MyFirTestServer.exe|sysutils.pas||FreeAndNil|16271|
|0050C08B|MyFirTestServer.exe|IdIOHandlerSocket.pas |TIdIOHandlerSocket|Destroy |263|
|0040400C|MyFirTestServer.exe|system.pas|TObject |Free|8385 |
|00404004|MyFirTestServer.exe|system.pas|TObject |Free|8384 |
|00413577|MyFirTestServer.exe|sysutils.pas||FreeAndNil|16274|
|0041355C|MyFirTestServer.exe|sysutils.pas||FreeAndNil|16271|
|0050CD00|MyFirTestServer.exe|IdTCPConnection.pas |TIdTCPConnection|Disconnect|369|
|00518A66|MyFirTestServer.exe|idcustomhttpserver.pas|TIdCustomHTTPServer |DoExecute |610|
|004047D6|MyFirTestServer.exe|system.pas||_HandleFinally|10065|
|7C9585C0|ntdll.dll|||RtlRaiseException | |
|7C95859C|ntdll.dll|||RtlRaiseException | |
|7C95858E|ntdll.dll|||RtlRaiseException | |
|7C958568|ntdll.dll|||RtlRaiseException | |
|7C95E74A|ntdll.dll|||RtlDosPathNameToRelativeNtPathName_U| |
|00404752|MyFirTestServer.exe|system.pas||_HandleOnException|9951 |
|7C94A1F3|ntdll.dll|||RtlLeaveCriticalSection | |
|00402742|MyFirTestServer.exe|GETMEM.INC||SysGetMem |1038 |
|00404964|MyFirTestServer.exe|system.pas||_TryFinallyExit |10497|
|00404954|MyFirTestServer.exe|system.pas||_TryFinallyExit |10492|
|004026B8|MyFirTestServer.exe|GETMEM.INC||SysGetMem |1016 |
|00402C0A|MyFirTestServer.exe|system.pas||_GetMem |2439 |
|00402C00|MyFirTestServer.exe|system.pas||_GetMem |2429 |
|00405024|MyFirTestServer.exe|system.pas||_NewAnsiString|11866|
|00404F54|MyFirTestServer.exe|system.pas||_LStrClr|11652|
|00405067|MyFirTestServer.exe|system.pas||_LStrFromPCharLen |11912|
|00405044|MyFirTestServer.exe|system.pas||_LStrFromPCharLen |11885|
|0040E567|MyFirTestServer.exe|sysutils.pas||DateTimeToString|11715|
|7C94C3C5|ntdll.dll|||RtlMultiByteToUnicodeN| |
|0040781C|MyFirTestServer.exe|SysInit.pas ||_GetTls |359|
|004048A8|MyFirTestServer.exe|system.pas||_RaiseExcept|10262|
|0050CACC|MyFirTestServer.exe|IdTCPConnection.pas |TIdTCPConnection|CheckForDisconnect|307|
|00404752|MyFirTestServer.exe|system.pas||_HandleOnException|9951 |
|004048A8|MyFirTestServer.exe|system.pas||_RaiseExcept|10262|
|0050CACC|MyFirTestServer.exe|IdTCPConnection.pas |TIdTCPConnection|CheckForDisconnect|307|
|7C9585C0|ntdll.dll|||RtlRaiseException | |
|7C95859C|ntdll.dll|||RtlRaiseException | |
|7C95858E|ntdll.dll|||RtlRaiseException | |
|7C958560|ntdll.dll|||RtlRaiseException | |
|7C94A1F3|ntdll.dll|||RtlLeaveCriticalSection | |
|00402742|MyFirTestServer.exe|GETMEM.INC||SysGetMem |1038 |
|7C9584A7|ntdll.dll|||RtlRaiseException | |
|00402919|MyFirTestServer.exe|GETMEM.INC||SysFreeMem|1139 |
|00402C35|MyFirTestServer.exe|system.pas||_FreeMem|2466 |
|00402C30|MyFirTestServer.exe|system.pas||_FreeMem|2456 |
|00404F99|MyFirTestServer.exe|system.pas||_LStrArrayClr |11703|
|00404F78|MyFirTestServer.exe|system.pas||_LStrArrayClr |11687|
|7C80BEF1|kernel32.dll |||RaiseException| |
|00402742|MyFirTestServer.exe|GETMEM.INC||SysGetMem |1038 |
|7C831F81|kernel32.dll |||FindFirstFileA| |
|0040AE4C|MyFirTestServer.exe|sysutils.pas||FileAge |4944 |
|00402C35|MyFirTestServer.exe|system.pas||_FreeMem|2466 |
|00402C30|MyFirTestServer.exe|system.pas||_FreeMem|2456 |
|00404F70|MyFirTestServer.exe|system.pas||_LStrClr|11663|
|00404F54|MyFirTestServer.exe|system.pas||_LStrClr|11652|
|00405623|MyFirTestServer.exe|system.pas||_LStrSetLength|13051|
|004055CC|MyFirTestServer.exe|system.pas||_LStrSetLength|13002|
|00403023|MyFirTestServer.exe|system.pas||GetParamStr |3423 |
|00402F70|MyFirTestServer.exe|system.pas||GetParamStr |3392 |
|00403180|MyFirTestServer.exe|system.pas||ParamStr|3501 |
|00402C35|MyFirTestServer.exe|system.pas||_FreeMem|2466 |
|00402C30|MyFirTestServer.exe|system.pas||_FreeMem|2456 |
|00404F70|MyFirTestServer.exe|system.pas||_LStrClr|11663|
|00404F54|MyFirTestServer.exe|system.pas||_LStrClr|11652|
|00402C35|MyFirTestServer.exe|system.pas||_FreeMem|2466 |
|00402C30|MyFirTestServer.exe|system.pas||_FreeMem|2456 |
|00404F70|MyFirTestServer.exe|system.pas||_LStrClr|11663|
|00404F54|MyFirTestServer.exe|system.pas||_LStrClr|11652|
|7C957587|ntdll.dll|||NtQueryVirtualMemory| |
|7C826EAF|kernel32.dll |||VirtualQueryEx| |
|7C826E98|kernel32.dll |||VirtualQueryEx| |
|7C826ED9|kernel32.dll |||VirtualQuery| |
|7C94A1F3|ntdll.dll|||RtlLeaveCriticalSection | |
|00402919|MyFirTestServer.exe|GETMEM.INC||SysFreeMem|1139 |
|0040AE30|MyFirTestServer.exe|sysutils.pas||FileAge |4943 |
|0040AEAC|MyFirTestServer.exe|sysutils.pas||FileExists|4972 |
|004043CE|MyFirTestServer.exe|system.pas||_ClassDestroy |9060 |
|0040AEA0|MyFirTestServer.exe|sysutils.pas||FileExists|4971 |
|00404F78|MyFirTestServer.exe|system.pas||_LStrArrayClr |11687|
|7C80BEF1|kernel32.dll |||RaiseException| |
|004048A8|MyFirTestServer.exe|system.pas||_RaiseExcept|10262|
|0050CACC|MyFirTestServer.exe|IdTCPConnection.pas |TIdTCPConnection|CheckForDisconnect|307|
|0050DA79|MyFirTestServer.exe|IdTCPConnection.pas |TIdTCPConnection|WriteBuffer |740|
|00402C0A|MyFirTestServer.exe|system.pas||_GetMem |2439 |
|00402C00|MyFirTestServer.exe|system.pas||_GetMem |2429 |
|00405024|MyFirTestServer.exe|system.pas||_NewAnsiString|11866|
|0050DA38|MyFirTestServer.exe|IdTCPConnection.pas |TIdTCPConnection|WriteBuffer |737|
|0050DA2C|MyFirTestServer.exe|IdTCPConnection.pas |TIdTCPConnection|Write |728|
|0050DE3F|MyFirTestServer.exe|IdTCPConnection.pas |TIdTCPConnection|WriteLn |832|
|00519F4D|MyFirTestServer.exe|idcustomhttpserver.pas|TIdHTTPResponseInfo |WriteHeader |1064 |
|00519E40|MyFirTestServer.exe|idcustomhttpserver.pas|TIdHTTPResponseInfo |WriteHeader |1037 |
|00518977|MyFirTestServer.exe|idcustomhttpserver.pas|TIdCustomHTTPServer |DoExecute |586|
|00511B54|MyFirTestServer.exe|IdTCPServer.pas |TIdPeerThread |Run |796|
|0046F030|MyFirTestServer.exe|SyncObjs.pas|TCriticalSection|Leave |221|
|0050F0B6|MyFirTestServer.exe|IdThread.pas|TIdThread |GetStopped|216|
|00511A4A|MyFirTestServer.exe|IdTCPServer.pas |TIdPeerThread |BeforeRun |759|
|0050EDD4|MyFirTestServer.exe|IdThread.pas|TIdThread |Execute |137|
|0042EAB2|MyFirTestServer.exe|classes.pas ||ThreadProc|9372 |
|00402C35|MyFirTestServer.exe|system.pas||_FreeMem|2466 |
|00404EF8|MyFirTestServer.exe|system.pas||ThreadWrapper |11554|
...全文
442 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuihan20e 2013-04-03
  • 打赏
  • 举报
回复
引用 14 楼 agshya 的回复:
引用 7 楼 Redmoneys 的回复:引用 6 楼 ningensoft 的回复:引用 4 楼 Redmoneys 的回复: 最近也在弄这块 纯socket的 不想用这个 纯socket重新封装太耗费精力了,选了个偷懒的方案 弄个Dll以后用多方便 大哥,我最近也在做dll封装IndyTCP,但遇到了问题:TCPServer不响应事件,目测是线程问……
不是不响应事件吧,是不是你的主程序里没有事件返回?你需要回调的
shuihan20e 2013-04-02
  • 打赏
  • 举报
回复
引用 5 楼 ningensoft 的回复:
引用 3 楼 shuihan20e 的回复:这个能看出个P来,直接上代码 以您的水平,我觉得上代码您也读不出所以然
您的水平高,以您帖上的这种信息,我也觉得您的代码我也看不出所以然来
shuihan20e 2013-04-02
  • 打赏
  • 举报
回复
引用 7 楼 Redmoneys 的回复:
引用 6 楼 ningensoft 的回复:引用 4 楼 Redmoneys 的回复: 最近也在弄这块 纯socket的 不想用这个 纯socket重新封装太耗费精力了,选了个偷懒的方案 弄个Dll以后用多方便
这和DLL没有关系,如果的把网络连接与发送放DLL里,反而更加不好调试了
该用户很帅 2013-04-02
  • 打赏
  • 举报
回复
引用 13 楼 zhouzuoji 的回复:
引用 4 楼 Redmoneys 的回复: 最近也在弄这块 纯socket的 不想用这个 用indy还用处优越感来了
我去 优越感 木有 还真不简单
该用户很帅 2013-04-02
  • 打赏
  • 举报
回复
引用 14 楼 agshya 的回复:
引用 7 楼 Redmoneys 的回复: 引用 6 楼 ningensoft 的回复:引用 4 楼 Redmoneys 的回复: 最近也在弄这块 纯socket的 不想用这个 纯socket重新封装太耗费精力了,选了个偷懒的方案 弄个Dll以后用多方便 大哥,我最近也在做dll封装IndyTCP,但遇到了问题:TCPServer不响应事件,目测是线程问题,有例子么?给小弟发……
专门开个线程监控网络事件。。。。异步
华亚 2013-04-02
  • 打赏
  • 举报
回复
引用 7 楼 Redmoneys 的回复:
引用 6 楼 ningensoft 的回复:引用 4 楼 Redmoneys 的回复: 最近也在弄这块 纯socket的 不想用这个 纯socket重新封装太耗费精力了,选了个偷懒的方案 弄个Dll以后用多方便
大哥,我最近也在做dll封装IndyTCP,但遇到了问题:TCPServer不响应事件,目测是线程问题,有例子么?给小弟发一个。
UndefinedCoder 2013-04-02
  • 打赏
  • 举报
回复
引用 4 楼 Redmoneys 的回复:
最近也在弄这块 纯socket的 不想用这个
用indy还用处优越感来了
UnkownState 2013-03-29
  • 打赏
  • 举报
回复
如果在调试环境下,你可以看stack情况分析。
aloking 2013-03-28
  • 打赏
  • 举报
回复
最好上代码,已经出错的情况,是否能重现。
wylton 2013-03-28
  • 打赏
  • 举报
回复
引用 5 楼 ningensoft 的回复:
[quote=引用 3 楼 shuihan20e 的回复:] 这个能看出个P来,直接上代码
以您的水平,我觉得上代码您也读不出所以然[/quote] 求教要虚心!!!
tengco 2013-03-26
  • 打赏
  • 举报
回复
引用 4 楼 Redmoneys 的回复:
最近也在弄这块 纯socket的 不想用这个
纯socket重新封装太耗费精力了,选了个偷懒的方案
tengco 2013-03-26
  • 打赏
  • 举报
回复
引用 3 楼 shuihan20e 的回复:
这个能看出个P来,直接上代码
以您的水平,我觉得上代码您也读不出所以然
该用户很帅 2013-03-26
  • 打赏
  • 举报
回复
最近也在弄这块 纯socket的 不想用这个
shuihan20e 2013-03-26
  • 打赏
  • 举报
回复
这个能看出个P来,直接上代码
tengco 2013-03-26
  • 打赏
  • 举报
回复
引用 1 楼 andrew57 的回复:
AV问题应该是你的代码有问题
代码并没有做特别的操作
该用户很帅 2013-03-26
  • 打赏
  • 举报
回复
引用 6 楼 ningensoft 的回复:
引用 4 楼 Redmoneys 的回复: 最近也在弄这块 纯socket的 不想用这个 纯socket重新封装太耗费精力了,选了个偷懒的方案
弄个Dll以后用多方便
UnkownState 2013-03-18
  • 打赏
  • 举报
回复
AV问题应该是你的代码有问题

1,593

社区成员

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

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