草庐IT

异常切换

全部标签

windows - 如何仅使用 WaitForDebugEvent 系列函数来监视 UNHANDLED 异常?

我正在trycatch应用程序中未处理的异常并使用WaitForDebugEvent函数在它们上重新启动它。但我无法判断异常何时由应用程序处理(例如try..catch),何时不处理。我怎么做?DEBUG_EVENT结构中好像没有这样的数据。 最佳答案 如果您没有使用WaitForDebugEvent捕获某些异常,您可能还想尝试注入(inject)UnhandledExceptionFilter。除此之外,检查您的处理是否匹配MicrosoftsExample 关于windows-如何仅

c++ - 如何确保转储文件由 C++ 应用程序在未处理的异常情况下写入

如果发生未处理的异常,如何确保转储文件由C++应用程序写入。例如,如果不处理被零除,那么如何确保写入Dump。此外,我尝试搜索但没有找到好的windbg教程也很棒。 最佳答案 我假设您正在寻找一种外部方式来创建这些转储(毕竟,您询问的是未处理的异常)。在Vista及更高版本中,您正在寻找的机制称为Windows错误报告-WER。你可以configureittocreatedumps崩溃时,将它们放置在特定位置。在Vista之前,您可以使用drwtsn32.exe来做到这一点.您还可以使用ADPlus运行您的程序,这将在进程崩溃时立即

c# - 为什么我的 StackPanel 不在生成的类中? (空引用异常)

这个问题在这里已经有了答案:WhatisaNullReferenceException,andhowdoIfixit?(27个答案)关闭7年前。我在调用checkBox2_Checked的代码中遇到NullReferenceException。异常表明stackPanelListbox为空。它在XAML中声明,并且类似声明的stackPanel不为空。这里有什么问题?这是XAML:这是C#代码:usingSystem.Windows;namespacech0103.WPF{//////InteractionlogicforLayoutWindow.xaml///publicpartia

c# - 异常错误对话框

我想知道为什么在某些计算机上,当.NET(C#或VB.NET应用程序)中发生未处理的异常时,为什么会显示不同的对话框。例如,在某些电脑上显示类似这样:而在其他人身上,它是这样显示的:我想像第二次(您的应用程序中发生未处理的异常)一样在将我的应用程序用于某些特定目的的所有系统中显示它。请不要建议使用全局异常处理方法。 最佳答案 好吧,您可以通过启用和禁用JIT(即时调试器)来控制您标记为正确的行为。也许这可以帮助您,或者让您走上正轨:MSDN:Howto:Enable/DisableJust-In-TimeDebugging我没有提出

windows - 在 Windows 中使用 CAPS LOCK 作为 Vim 模式切换键

很多人都有asked和written关于如何mapCapsLocktoEsc或Control,但我想使用CapsLock键作为插入模式和正常之间的切换模式,我还没有找到解决如何执行此操作的任何内容。(然后我想让ShiftCapsLock做一个CapsLock通常单独做的事情,对于那些罕见的时候需要CapsLock,就像在输入长的CONSTANT名称时一样。但这确实是一个单独的问题,如果确实有一种方法可以完成第一部分,我稍后再讨论。所有这一切很可能是不可能的.)最近我在工作中主要使用Windows,所以这是我目前最关心的。(由于这可能涉及某种仅限Windows的黑客攻击,我将针对我也使用

python - Windows XP 中的 django startproject 异常

我在windowxp上使用python3.3。PATH变量是";C:\Python33;C\Python33\Scripts;C:\Python33\Lib\site-packages\django\bin\”当我创建新项目时,它给出了一个异常(exception)。请告诉我我错过了什么? 最佳答案 您需要升级到Django1.5c1(仍在开发中)。您似乎正在运行甚至早于1.5a1的开发版本。您看到的错误是由于主要Python版本之间的语法更改导致的fixed9monthsago.或者更好的是,改用Python2.7;即使在Djan

windows - C++/CX 捕获异常 - 如何打印完整堆栈?

我有一个用C++/CX编写的Windows应用商店应用程序(适用于Windows8),我已将一大块代码包装在try/catchblock中。catchblock正在工作并捕获异常,但到目前为止我似乎只能打印出异常的“消息”部分而不是完整的异常堆栈:try{...}catch(Exception^e){LogMessage("Exceptioncaught:"+e->ToString());}当捕获到异常时,LogMessage仅输出以下文本:"Exceptioncaught:Theobjectalreadyexists"我试过e->ToString()和e->Message,但两者的输

c++ - 使用 Win32/C++ API 更改 Windows 7 墙纸(操作未实现异常)

以下代码适用于Windows8.1(已测试)但不适用于Windows7。std::wstringloc=L"C:\\Users\User\\Desktop\\wallpaper.jpg";BOOLret=SystemParametersInfo(SPI_SETDESKWALLPAPER,0,(PVOID)loc.c_str(),SPIF_UPDATEINIFILE);当我在Windows7上运行该程序时,出现以下异常:First-chanceexceptionat0x76E3C41F(KernelBase.dll)inMyApp.exe:0xC0000002:Therequestedo

windows - 使用 shell 命令的 GNU MAKE 异常

我在WIN7PC上对我的项目运行make并收到以下错误:make:Interrupt/Exceptioncaught(code=0xc0000005,addr=0x0040b0ac)当删除一些make部件时,似乎以下行是有问题的:$(shellifexist$(1)echoYES)任何想法似乎是什么问题?解决方案?谢谢!更新:我正在使用gnumake3.81.1mingw32,同样的make和makefile用于我以前的WINXP(32位),升级到WIN7后出现问题。 最佳答案 好的,我想我明白了。显然它与PATH相关,如果我用预定

ruby - 如何处理 Find.find 中的异常

我正在处理文件和目录,以在每个目录中查找最近修改的文件。我的代码可以工作,但作为Ruby的新手,我无法正确处理错误。我使用Find.find获取递归目录列表,为每个目录调用我自己的函数newestFile:Find.find(ARGV[0]){|f|ifFile.directory?(f)newestFile(f)end}在目录树中有我无权访问的文件夹,所以我想忽略它们并继续下一步,但我看不到如何将异常处理合并到Find.find“循环”。我试图将begin..rescue..end放在block周围,但这不允许我继续处理循环。我还发现了这个SO问题:Howtocontinueproc