草庐IT

C++异常安全

全部标签

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

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

c# - 无法监控安全事件日志

我有这个代码:{EventLogev=newEventLog("Security");ev.EntryWritten+=newEntryWrittenEventHandler(ev_EntryWritten);}staticvoidev_EntryWritten(objectsender,EntryWrittenEventArgse){log_to_file("ev_EntryWritten");}但我没有收到任何安全事件。该程序在XPSP3上作为Windows服务运行。我错过了什么? 最佳答案 确保设置EnableRaisingE

javascript - 有没有一种安全的方法可以使用 JavaScript 验证 JSON 输入?

我正在从Windows7小工具中提取一些外部JSON数据,这基本上是一段在具有高安全权限的InternetExplorer下运行的JavaScript。因此,我想确保JSON格式正确并且不是恶意的。执行此操作的好方法是什么? 最佳答案 JSON是JavaScript。因此,您可以像验证JavaScript一样静态地验证JSON。您担心通常可用于验证JavaScript的eval方法,并且您非常明智地避免了这种方法。如果它是恶意的并且你执行验证,那么你已经搞砸了。JSLint是一个很好的工具。请参阅StackOverflow问题IsJ

windows - 在 Windows 编程中混合使用 '/' 和 '\' 作为目录路径是否安全?

我碰巧有一个目录路径,例如“c:\a\b/c/d\e”,但它与boost库配合得很好。我不知道在Windows中是否可以混用“\”和“/”。在Windows中是否允许? 最佳答案 documentation表示可以在WindowsAPI函数中使用正斜杠,但在完成任何操作之前它们将转换为反斜杠。我想C运行时也会这样做(尽管我现在找不到引用资料),所以无论您调用什么文件相关的函数,您都应该没问题。 关于windows-在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我没有提出

regex - 我可以安全地使用哪些字符来表达正则表达式中的自定义含义

我的应用程序中的用户将使用正则表达式来指定应用程序应该使用哪些文件以及应该排除哪些文件,例如包含匹配foo.*\.txt的文件但是有时过滤器需要使用只能在运行时被应用程序知道的值。例如,如果过滤器是foo[SPECIALVALUEHERE].*\.txt而特殊值恰好是bar,则实际过滤器将是foobar.*\.txt哪些字符可以用来指定[SPECIALVALUEHERE]?我想为了避免歧义,它不需要是正则表达式中的特殊/保留字符,也不是文件中会出现的字符。客户的另一个要求是它必须只有一个(或最多两个或三个)字符,所以像%SPECIALVALUE%这样的东西是不可能的。我可以为此目的使用

使用 vb.net 的 Windows 文件所有权和安全性?

有人知道如何实现吗?在1台PC上有3个普通用户和2个管理员:总共5个。我需要在管理员1上运行帐户的VB.net应用程序来创建一个文件并设置仅对管理员2可用的所有权和权限,以便只有管理员2可用于对该文件进行访问、删除等操作。管理员1无法通过Windows访问该文件,但在该用户帐户上运行的应用程序可以。因此与此同时(当应用程序在admin1上运行时),如果文件需要更改,应用程序应该能够再次更改文件。注意:应用程序知道两个帐户的密码和登录信息。 最佳答案 您是否尝试过LogonUser和WindowsIdentity.Impersonat

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