我们有一个用作RemoteApp的应用程序。 用户通过网关访问RemoteApp。
每次发生exception断开(连接失败)时,我们都会遇到Win64上运行MSTSC v.6.3的用户崩溃(Windows 7和Windows 8testing)。
典型的崩溃是MSTSC内的访问冲突,并显示错误消息“远程桌面连接已停止工作”。 但有时MSTSC只是冻结。 事件查看器显示“应用程序错误”,事件ID 1000,exception代码0xC0000005(==访问冲突)。
Win64上的MSTSC v.6.2或更早版本或Win32上的MSTSC(任何版本)可以正常工作。
如果我们允许用户直接访问TS服务器,绕过网关服务器就不会崩溃。 在这种情况下,连接失败后,MSTSC自动重新连接成功。
有人知道解决这个问题吗? 任何帮助是受欢迎的。
事件查看器的附加信息:
错误应用程序名称:mstsc.exe,版本:6.3.9600.16415,时间戳:0x524b5b3d 错误模块名称:mstscax.dll,版本:6.3.9600.16503,时间戳:0x52c5f878 exception代码:0xc0000005 错误偏移量:0x0000000000439b7a 错误进程ID:0x1658 错误应用程序开始时间:0x01cf84a3cfff7048 错误的应用程序path:C:\ Windows \ system32 \ mstsc.exe 错误模块path:C:\ Windows \ system32 \ mstscax.dll
从Visual Studio Express 2012debugging器堆栈跟踪:
mstscax.dll的!CClientProxyTransport :: SetErrorStatus(长) mstscax.dll!CClientProxyTransport :: GetErrorStatus(long,class CClientProxyTransport *) mstscax.dll!CProxyClientSendPacket :: OnComplete(long,unsigned long) mstscax.dll的!CAAAsyncSend ::的onComplete(长) mstscax.dll!CAARpcClientChannel :: Shutdown(unsigned long,IAAAsyncOperation类) mstscax.dll!CAAAsyncDisconnectChannel :: Invoke(unsigned long,CAAChannel类,IAATransportChannel类) mstscax.dll的!CAAChannel :: DisconnectInternal(的int,long) mstscax.dll!CAARpcClientChannel :: HandleReceiveComplete(struct _RPC_ASYNC_STATE *) mstscax.dll!CAARpcClientChannel :: HandleIOCompletion(struct _OVERLAPPED *,unsigned long) mstscax.dll!CAagIO :: AAGIoThreadFunc(void *) KERNEL32.DLL!BaseThreadInitThunk() ntdll.dll中!RtlUserThreadStart()
我们发现这个我和网关上的login信息有关。 如果您在网关上禁用login信息,
我现在不是为什么会发生。 但这是一个快速的解决scheme。 我们希望微软能够纠正这个错误。