SuperSocket

tnpjinxin 发布于 2016/09/14 14:27
阅读 219
收藏 0

@江振宇 你好,想跟你请教个问题:

没有修改源码,把SuperSocket.SocketService.Net40作为启动项,开始调试,显示一下控制台界面后,立刻显示到汇编界面,并在异常信息窗口指示:{AccessViolationException:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。},这可能是哪方面原因呢,文件夹的权限我改了一遍也不行。

附1汇编文件:

00000000  push        rbp
00000001  sub         rsp,30h
00000005  lea         rbp,[rsp+30h]
0000000a  mov         qword ptr [rsp+20h],rsp
0000000f  call        FFFFFFFFFFC75E60
00000014  mov         rcx,rax
00000017  mov         rdx,4800041A8h
00000021  mov         rdx,qword ptr [rdx]
00000024  mov         r9,4800041F8h
0000002e  mov         r9,qword ptr [r9]
00000031  xor         r8d,r8d
00000034  mov         rax,qword ptr [rax]
00000037  mov         rax,qword ptr [rax+60h]
0000003b  call        qword ptr [rax+38h]
0000003e  nop
0000003f  mov         rcx,qword ptr [rsp+20h]
00000044  call        0000000000000050
00000049  nop
0000004a  lea         rsp,[rbp]
0000004e  pop         rbp
0000004f  ret
00000050  push        rbp
00000051  sub         rsp,30h
00000055  mov         rbp,qword ptr [rcx+20h]
00000059  mov         qword ptr [rsp+20h],rbp
0000005e  lea         rbp,[rbp+30h]
00000062  mov         rcx,4800041E0h
0000006c  cmp         qword ptr [rcx],0
00000070  je          0000000000000086
00000072  mov         rcx,4800041E0h
0000007c  mov         rcx,qword ptr [rcx]
0000007f  cmp         dword ptr [rcx],ecx
00000081  call        FFFFFFFFFFC72370
00000086  mov         rcx,4800041B8h
00000090  mov         rcx,qword ptr [rcx]
00000093  cmp         dword ptr [rcx],ecx
00000095  call        FFFFFFFFFFBA4508
0000009a  nop
0000009b  add         rsp,30h
0000009f  pop         rbp
000000a0  ret

附2故障详细信息:

{System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
   在 SuperSocket.SocketService.Program.Main(String[] args) 位置 e:\TNP\TcpServerTest\SuperSocket(1.6.6).Source\SocketService\Program.cs:行号 27
   在 System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
   在 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   在 System.Threading.ThreadHelper.ThreadStart()}


加载中
返回顶部
顶部