Tag: 崩溃

SendMessage模拟右键单击崩溃目标应用程序

我正在编写一个C#自动化工具。 由于Microsoft UI Automation不提供任何模拟右键单击或提升上下文菜单的方法,因此我使用SendMessage来执行此操作。 我宁愿不使用SendInput因为我不想抓住焦点。 但是,当我调用SendMessage时,它会崩溃目标应用程序。 这是我的代码: [DllImport(“user32.dll”, CharSet = CharSet.Auto)] static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam, IntPtr lParam); public void RightClick(T element) where T: AutomationElementWrapper { const int MOUSEEVENTF_RIGHTDOWN = 0x0008; /* right button down */ const int MOUSEEVENTF_RIGHTUP = 0x0010; /* right button up */ var point = element.Element.GetClickablePoint(); var […]

LINQ to SQL:包含在TargetInvocationException中的间歇性AccessViolationException

几周以来,我们正在使用ASP.Net Web应用程序遇到W3WP崩溃问题。 这些是在我们的网络服务器更新后开始的。 我们的申请没有变化,并且多年来一直稳定。 我们的情况似乎与之前的问题非常相似。 这个问题也可能有关系,但在我们的例子中,查询在99.9%的时间内运行良好。 我们使用了大量未编译的LINQ查询,并尝试编译它们可以防止这些崩溃。 崩溃次数急剧减少,但仍然会发生。 将我们的查询包装在try catch然后捕获TargetInvocationException也不起作用。 没有抓住exception。 发生崩溃时,我们会收到WER报告并可以检索崩溃转储。 来自转储的堆栈跟踪对于未编译的查询通常如下所示: at System.RuntimeMethodHandle.InvokeMethod(Object target,Object [] arguments,Signature sig,Boolean constructor) 在System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj,Object [] parameters,Object [] arguments) 在System.Delegate.DynamicInvokeImpl(Object [] args) 在System.Data.Linq.SqlClient.QueryConverter.VisitInvocation(InvocationExpression invoke) at System.Data.Linq.SqlClient.QueryConverter.VisitInner(Expression node) 在System.Data.Linq.SqlClient.QueryConverter.VisitExpression(Expression exp) 在System.Data.Linq.SqlClient.QueryConverter.VisitBinary(BinaryExpression b) at System.Data.Linq.SqlClient.QueryConverter.VisitInner(Expression node) 在System.Data.Linq.SqlClient.QueryConverter.VisitExpression(Expression exp) 在System.Data.Linq.SqlClient.QueryConverter.VisitBinary(BinaryExpression b) at System.Data.Linq.SqlClient.QueryConverter.VisitInner(Expression node) 在System.Data.Linq.SqlClient.QueryConverter.Visit(表达式节点) 在System.Data.Linq.SqlClient.QueryConverter.VisitWhere(表达式序列,LambdaExpression谓词) 在System.Data.Linq.SqlClient.QueryConverter.VisitSequenceOperatorCall(MethodCallExpression mc) at System.Data.Linq.SqlClient.QueryConverter.VisitInner(Expression node) […]

无法在C#中加载C ++ DLL

>我以前的post< 我创建了这个,因为我在VMBox上安装了WinXP,我无法再次使用它。 这次我在表单上创建了一个OnLoad事件 if (LoadLibrary(“blowfish.dll”) == 0) { Misc.LogToFile(“Could not load dll”, true); Application.Exit(); } 在我的电脑上运行正常,但在VMBox上LoadLibrary返回0。 一些用户提到问题在于将较旧的.NET Framework(2.0)与最新的MS Visual Studio(2008 SP1)上的dll混合在一起,所以我采取了行动,现在它的程序属性设置为使用NET 3.5 在VMBox上我有.NET 2.0,但这不是问题 – 程序本身运行正常。我还有C ++ Redistributable(2005,2005 SP1和2008)。 可能是什么问题呢?

保护Windows服务免受不受信任的用户的攻击

如何防止用户篡改,停止或崩溃在后台工作的Windows服务可能需要一段时间才能完成? 收到停止请求后,服务应等到工作完成后再停止。 有服务的CanStop标志,但我不知道如何响应OnStop消息。 如果用户确实尝试使服务崩溃,我该如何防止进一步篡改? 编辑:从家长控制到任何后台进程的广义问题。

Silverlight 5 – 调试npctrl.dll崩溃

我得到一个非常令人沮丧的silverlight插件崩溃,影响IE和Firefox。 事件日志中的错误是: Faulting application name: iexplore.exe, version: 9.0.8112.16421, time stamp: 0x4d76255d Faulting module name: npctrl.dll, version: 5.0.61118.0, time stamp: 0x4ec5fc64 Exception code: 0xc0000094 Fault offset: 0x0001d720 Faulting process id: 0x434 Faulting application start time: 0x01ccf0b878b55ca7 Faulting application path: C:\Program Files (x86)\Internet Explorer\iexplore.exe Faulting module path: c:\Program Files (x86)\Microsoft Silverlight\5.0.61118.0\npctrl.dll Report Id: bd79af3d-5cab-11e1-8948-000c29de3e25 我已经在exception期间附加了WinDbg以获取更多信息: (17e4.13f8): Break […]

如何解决事件日志中的.NET 2.0错误报告消息?

我在一个名为EVEMon的开源产品上工作,用C#编写,面向.NET 2.0平台,我有一个用户遇到了我们无法解决的奇怪的.NET崩溃问题。 事件类型:错误 事件源:.NET Runtime 2.0错误报告 活动类别:无 事件ID:5000 日期:2009年4月29日 时间:晚上10:58:10 用户:N / A. 电脑:删除了这个 描述: EventType clr20r3,P1 evemon.exe,P2 1.2.7.1301,P3 49ea37c8,P4 system.windows.forms,P5 2.0.0.0,P6 4889dee7,P7 6cd3,P8 18,P9 system.argumentexception,P10 NIL。 数据: //以上描述的hex表示 应用程序本身崩溃而不显示错误(尽管有error handlingUI),上述消息被复制出Windows事件日志。 最终用户已重新安装.NET并更新到最新版本。 .PDB文件随程序的每个发行版本一起分发,以帮助调试和测试,有问题的用户可以获得正确版本的EVEMon的完整PDB文件。 是否有一种特定的,经过试验和测试的技术来分析和诊断这种类型的崩溃? 如果有的话,有哪些工具和技术可以帮助调试? 特别谢谢 我要特别感谢Steffen Opel,并强调他的答案虽然没有直接回答我提出的问题,但我的代码库解决了更大的问题,即全局error handling缺少一个重要组件。

如何防止C#中输入无效导致崩溃?

我写的程序设置为只接受正整数作为输入。 如果用户输入了一个字母,那么它就会崩溃。 负整数不会导致任何问题,尽管它对我的程序如何运作并不“有效”。 我想做的是: 防止程序从无效输入中崩溃。 如果输入无效,则显示错误消息 让程序从中断处继续,而不影响程序的其余部分。 此外,我的计划的一部分涉及分裂。 有没有办法阻止用户输入全零? 这是在C# 我的代码: using System; 使用System.Collections.Generic; 使用System.Linq; 使用System.Text; namespace OverallCalculator { class Program { static void Main(string[] args) { bool shouldContinue; do { Console.WriteLine(“Enter Striking Level: “); string striking = Console.ReadLine(); Console.WriteLine(“Enter Grappling Level: “); string grappling = Console.ReadLine(); Console.WriteLine(“Enter Submission Level: “); string submission = Console.ReadLine(); […]

如何分析Windows Crash Reporter生成的WERInternalMetadata.xml文件?

.Net 4.0应用程序不断为用户崩溃,但仅仅对他来说,我无法重现该错误。 他附加了Windows崩溃报告器生成的WERInternalMetadata.xml文件。 通过打开它,我发现它是一个崩溃软件的System.IO.FileNotFoundException ,但是,在该函数中没有调用会抛出这种exception的函数,所以在其他地方或更深处是问题。 这是文件中“最有趣”的部分。 它包含(hex)数字,但我无法找出它们的含义。 CLR20r3 rstvshowtracker.exe 1.0.3842.33258 4c374e79 mscorlib 4.0.0.0 4ba1da6f 1620 14 System.IO.FileNotFoundException 有没有办法找出导致exception的代码,或者至少找出比FileNotFoundException更多的细节?