草庐IT

异常分析

全部标签

c# - 为什么在 .NET/C# 中将未处理的异常打印到 stderr?

我有一些在Windows上用C#编写的程序,我注意到它们都会将未处理的异常打印到STDERR。我找不到任何关于此的文档,具体是什么将异常写入STDERR?是否有启用/禁用此选项或以其他方式控制它如何打印异常文本的选项?我很好奇.NET或C#应用程序将未处理的异常打印到STDERR的可靠性如何,也许开发人员可以使用编译器或其他选项来完全禁用该功能(类似于Application.SetUnhandledExceptionMode),或者如果程序可能会由于未处理的异常而崩溃,因为它不会打印到STDERR。 最佳答案 当KenThompso

windows - 如何知道 80000003 断点后面是否隐藏了不同的异常(WER 对话框)

我的应用程序(一个可执行文件)在远程机器上崩溃了。我无权访问该机器,因此我请求了一个通过任务管理器生成的转储。使用WinDbg,在执行命令!analyze-v时,我可以在许多其他内容中看到以下文本EXCEPTION_RECORD:(.exr-1)ExceptionAddress:0000000000000000ExceptionCode:80000003(Breakinstructionexception)ExceptionFlags:00000000NumberParameters:0我怎么知道它是否是导致崩溃的原因?如果不是,我如何确定真正的原因? 最佳

c++ - 使用 Win7/64 分析在 XP/32 机器上生成的 Windows 崩溃转储?

我们在分析在我们开发机器上的客户WindowsXP/32机器上创建的Windows故障转储时遇到了问题。我们的许多开发机器现在都是Win7/64机器,但在WindowsXP下生成的故障转储似乎无法完全解析它们的二进制依赖性,从而导致在VisualStudio(2005)中显示调用堆栈时出现警告。例如,在WindowsXP上生成转储时,从Win7机器加载时无法解析msvcr80.dll:在XP上,WinSxS路径似乎是C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_e6967989

c# - .dll 中发生类型为 'System.StackOverflowException' 的未处理异常

我正在用C#开发Windows应用程序。在我的应用程序中,我使用了一个静态类。代码如下:publicstaticclassclsNumber{privatestaticobjectvValue;publicstaticobjectValue{get{returnValue;}set{Value=value;}}publicstaticstringHexValue{get{try{returnMicrosoft.VisualBasic.Conversion.Hex(vValue);}catch{returnConvert.ToString(vValue);}}set{Value=Micr

c++ - Windows 消息异常

可能只是某种粗略的疏忽,但我在消息循环中没有收到任何WM_SIZE消息。但是,我确实在WndProc中收到了它们。我认为Windows循环将消息发送给WndProc?LRESULTCALLBACKWndProc(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam){switch(message){//thismessageisreadwhenthewindowisclosedcaseWM_DESTROY:{//closetheapplicationentirelyPostQuitMessage(0);return0;}break;caseWM_

全面易懂的分析现有L2环境

全面易懂的分析现有L2环境介绍区块链领域中最具争议的话题之一无疑是可扩展性。更具体地说,扩展以太坊已经被证明是一个具有挑战性但必要的操作;随着其日益流行,要求将交易包含在区块中的请求增加,从而导致交易成本增加。以太坊主网以每秒处理约15笔交易,所以似乎有必要提高吞吐量。为了减轻以太坊节点的负担,出现了许多限制主网所需处理或存储量的解决方案,每个解决方案都有自己的优点和缺点。为了提高以太坊网络在其实际单链配置中的速度,现在正在使用多种可替代的扩展策略;它们都旨在从以太坊主区块链上卸载交易处理以提高可扩展性,但它们确实这以各种不同的方式。值得注意的是,这些扩展技术并不仅限于以太坊,也可能用于其他网

c# - 模拟磁盘空间不足异常

在我们的应用程序中,我们想要检查磁盘空间不足异常。在不使用大量block文件的情况下模拟这种情况的最佳方法是什么。 最佳答案 有很多方法(虚拟驱动器、小分区,甚至是一个巨大的文件来填充您的测试分区)。通常我更喜欢使用磁盘配额,因为它可以快速更改(所以我在几秒钟内手动测试,但我也可以将它集成到我的自动化测试中)并且我可以自由尝试不同的条件(磁盘空间不足,磁盘空间非常低,磁盘已满)。此外,您还可以以不同方式处理“磁盘配额不足”和“磁盘已满”(如果需要)。为特定用户分配磁盘配额并使用该凭据运行应用程序。如果配额足够小,您可以模拟磁盘空间不

c++ - 我可以使用什么工具来分析内存使用情况?

关闭。这个问题不满足StackOverflowguidelines.它目前不接受答案。想改善这个问题吗?更新问题,使其成为on-topic对于堆栈溢出。7年前关闭。Improvethisquestion我有一个使用C++使用VisualStudio2008编写的Windows应用程序。我想获取有关内存使用情况的统计信息,以找到处理内存使用情况的瓶颈和位置。理想情况下,我希望有一个工具可以做到这一点,而无需进入并向代码本身添加计数器/分析逻辑。基本上我正在寻找的是:所有分配的列表(释放与否无关紧要,每次分配时我都想知道)每次分配的调用堆栈和一个计数器,表示调用代码和分配内存的次数。有关已

windows - 从 JScript 中的异常获取行号

我在WindowsScriptHost(不是网络浏览器)中运行以下代码。有没有办法获取发生异常的行号?try{//Exceptionhappenshere}catch(e){//Getlinenumberfrom'e'?}附言。请注意,如果我没有捕获到此异常,则默认的Windows错误具有行号。 最佳答案 JScriptError对象没有任何行或列信息,只有description、message、name、stack、stackTraceLimit和number。引用在这里:ErrorObject(JavaScript)

C# 移动操作挂起而不是立即抛出异常

有谁知道为什么有时C#中的Directory.Move()操作会挂起/等待而不是立即抛出异常?例如:如果我在tryblock中使用Directory.Move()方法,然后在文件资源管理器中导航到该文件夹​​,Windows会创建一些锁定它的句柄。然后,我希望立即执行catchblock,但它就像应用程序在抛出异常之前只是挂起10-15秒。有趣的是,如果我在这10-15秒内离开文件资源管理器中的文件夹,那么应用程序实际上会完成Move()操作。这就像:Windows不是立即抛出异常,而是挂起10-15秒,看看负责句柄(锁)的人是否自行关闭了这些句柄。有没有办法让应用程序立即抛出异常?