首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >什么会导致任何.NET应用程序立即崩溃...除了我在Visual Studio中创建和调试的项目?

什么会导致任何.NET应用程序立即崩溃...除了我在Visual Studio中创建和调试的项目?
EN

Stack Overflow用户
提问于 2018-03-13 07:30:37
回答 10查看 0关注 0票数 0

我的软件最近被部署到一位客户,他说应用程序在启动后立即崩溃。 经过一些初步调试后,客户提供了远程访问其中一台无法运行该应用程序的计算机。 我发现崩溃并不是特定于我的应用程序。 任何依赖.NET框架的应用程序都会立即崩溃。

方便的是,Visual Studio 2008已经安装好了,所以我在其上创建了一个快速的hello world应用程序,并单击了Debug。 该应用程序工作正常。 但是,当我试图在Visual Studio之外的/bin/Debug/HelloWorld.exe目录中执行生成的二进制文件时,它崩溃了。

我使用WinDbg创建了一个转储文件

代码语言:javascript
复制
FAULTING_IP:  mscorwks!PEImage::GetEntryPointToken+21 79f4ff9d f6401010        test    byte ptr [eax+10h],10h

EXCEPTION_RECORD:  0012f710 -- (.exr 0x12f710) ExceptionAddress: 79f4ff9d (mscorwks!PEImage::GetEntryPointToken+0x00000021) ExceptionCode: c0000005 (Access violation)   ExceptionFlags: 00000000 NumberParameters: 2    Parameter[0]: 00000000    Parameter[1]: 00000010 Attempt to read from address 00000010

FAULTING_THREAD:  00000b44
PROCESS_NAME:  MyProcess.exe
ERROR_CODE: (NTSTATUS) 0x80000003 - {EXCEPTION}  Breakpoint  A breakpoint has been reached.

EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - One or more arguments are invalid    
DETOURED_IMAGE: 1    
NTGLOBALFLAG:  0    
APPLICATION_VERIFIER_FLAGS:  0    
MANAGED_STACK: !dumpstack -EE OS Thread Id: 0xb44 (0) Current frame:  ChildEBP RetAddr  Caller,Callee

EXCEPTION_OBJECT: !pe cb10b4 Exception object: 00cb10b4 Exception type: System.ExecutionEngineException Message: <none> InnerException: <none> StackTrace (generated): <none> StackTraceString: <none> HResult: 80131506    
MANAGED_OBJECT_NAME:  System.ExecutionEngineException    
CONTEXT:  0012f72c -- (.cxr 0x12f72c) eax=00000000 ebx=00000000 ecx=00000000 edx=0000000e esi=001a1490 edi=00000001 eip=79f4ff9d esp=0012f9f8 ebp=0012fa1c iopl=0         nv up ei pl zr na pe nc cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00010246 mscorwks!PEImage::GetEntryPointToken+0x21: 79f4ff9d f6401010        test    byte ptr [eax+10h],10h     ds:0023:00000010=?? Resetting default scope    
READ_ADDRESS:  00000010     
FOLLOWUP_IP:  mscorwks!PEImage::GetEntryPointToken+21 79f4ff9d f6401010        test    byte ptr [eax+10h],10h    
BUGCHECK_STR:  APPLICATION_FAULT_NULL_CLASS_PTR_DEREFERENCE_SHUTDOWN    
PRIMARY_PROBLEM_CLASS:  NULL_CLASS_PTR_DEREFERENCE_SHUTDOWN
    DEFAULT_BUCKET_ID:  NULL_CLASS_PTR_DEREFERENCE_SHUTDOWN    
LAST_CONTROL_TRANSFER:  from 79ef02b5 to 79f4ff9d    
STACK_TEXT:   79f4ff9d mscorwks!PEImage::GetEntryPointToken+0x21 79ef02b5 mscorwks!PEFile::GetEntryPointToken+0xa0 79eefeaf mscorwks!SystemDomain::ExecuteMainMethod+0xd4 79fb9793 mscorwks!ExecuteEXE+0x59 79fb96df mscorwks!_CorExeMain+0x15c 7900b1b3 mscoree!_CorExeMain+0x2c 7c817077 kernel32!BaseProcessStart+0x23    

SYMBOL_STACK_INDEX:  0    
SYMBOL_NAME:  mscorwks!PEImage::GetEntryPointToken+21    
FOLLOWUP_NAME:  MachineOwner    
MODULE_NAME: mscorwks    
IMAGE_NAME:  mscorwks.dll    
DEBUG_FLR_IMAGE_TIMESTAMP:  471ef729    
STACK_COMMAND:  .cxr 0012F72C ; kb ; dds 12f9f8 ; kb    
FAILURE_BUCKET_ID:  NULL_CLASS_PTR_DEREFERENCE_SHUTDOWN_80000003_mscorwks.dll!PEImage::GetEntryPointToken    
BUCKET_ID:  APPLICATION_FAULT_NULL_CLASS_PTR_DEREFERENCE_SHUTDOWN_DETOURED_mscorwks!PEImage::GetEntryPointToken+21    
WATSON_STAGEONE_URL:  http://watson.microsoft.com/StageOne/MyProcess_exe/2_4_4_39/4a8a192c/unknown/0_0_0_0/bbbbbbb4/80000003/00000000.htm?Retriage=1

Followup: MachineOwner

细节

http://www.blakerobertson.com/Storage/perm/dotNetFatalCrash.jpg

EN

回答 10

Stack Overflow用户

发布于 2018-03-13 08:26:24

基于你的windbg输出,它看起来像有人在进程启动时注入了一个DLL到进程中,并且注入并不是针对已加载的任何版本的mscorwks设计的。如果这是一个偶然的工作站(例如秘书),我会将它没收到MIS / IT来检查恶意软件。如果它是一台坐在服务器机房的机器,我会看着客户执行重新定位到另一台机器。

我不怀疑任何其他客户都会遇到这种情况,并且在8年的.NET开发过程中,唯一可能(预计会导致)您所描述的行为是尝试在系统中运行.NET应用程序安装的框架版本(例如,缺乏支持,导致大多数Windows版本的标准调试/取消对话框),这不是问题所在。这也与处理器架构,框架版本和SP级别无关,它与任何商业AV软件或任何商业网络安全软件都没有关系。

这显然不是你代码中的东西,我也没有看到它是你可以为你的客户修复的东西。我知道没有工具或系列步骤可以用来解决这个问题,因为客户不需要重新映像目标机器。在他们这样做之前,再次让MIS / IT对潜在的恶意软件(特别是不会通过公众分发的恶意软件)进行重新渲染。

相关阅读:http://Research.microsoft.com/app/pubs/default.aspx?id=68568

票数 0
EN

Stack Overflow用户

发布于 2018-03-13 09:16:04

在Wave System卸载Embassy Trust Suite后,一切都恢复正常。

http://social.msdn.microsoft.com/Forum/en-US/vbGeneral/thread/6e6b8496-c1f1-4fc9-bcc9-2129a6329804/

票数 0
EN

Stack Overflow用户

发布于 2018-03-13 09:59:31

我在所有在框架上运行修复的情况下进行大规模部署时遇到了非常类似的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100007608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档