问题标签 [fast-fail]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 中止执行 MySQL 脚本的方法(可能引发错误)?
我需要为 MySQL 编写设置脚本(通常使用 mysql 控制台中的 'source [file]' 运行),这些脚本部分依赖于现有数据,并且环境存在差异,这意味着有时脚本确实会失败。一个常见的情况是带有 select(定位 id)的 'SET' 语句找不到任何东西;控制台将值设置为 NULL。在这种情况下,我希望脚本失败;我听说这将通过引发错误(与其他数据库)来完成。然而,似乎 MySQL 没有办法做到这一点。
在这种情况下有没有好的方法来强制失败?现在的情况是,当插入尝试使用 null 时,更新将失败,但即使这样也不会终止脚本本身。理想情况下,一旦遇到问题,它就会失败并终止。
java - 您有任何有效使用 Java Assert 的技巧吗?
我没有看到很多开发人员使用 Java Assert,但我非常热衷于使用它们。您能分享一些有效使用它们的技巧吗?
c# - 来自 NTContinue 的无法解释的 C# 崩溃
尽管使用了 try/catch,但我遇到了无法解释的 C# 托管代码崩溃。真的很感激有人可以帮助解释发生了什么!
崩溃异常代码为:FAIL_FAST_SET_CONTEXT_DENIED_c0000409,子代码为0x30 FAST_FAIL_SET_CONTEXT_DENIED。
(memory.hdmp 中 0x00007FF8BFA45886 (ntdll.dll) 处的未处理异常:未知 __fastfail() 状态代码:0x0000000000000030。)
堆栈中顶部调用的反汇编似乎表明从 ntdll!RcContinueExit 抛出“INT 29h”,因为 ntdll!NtContinue 返回错误代码 0xC000060A:
这是崩溃的托管线程的调用堆栈
这是崩溃线程所做的简化代码:
c# - .Net Framework Windows 窗体应用程序因快速失败 0x02 而崩溃
我们有一个 C# .Net Framework Windows 窗体应用程序,它引用了几个 c/c++ 本机 DLL,正在由少数客户端测试。
在某些机器上,它崩溃而没有任何错误消息/弹出(只是立即退出),这只发生并且总是在因此选择的机器上(应用程序崩溃的所有电脑和应用程序从未出现问题的电脑都有最新的Windows 10 版本,并且都禁用了 Windows Defender/Security,因为它会导致问题)。
应用程序在启动 http 请求后恰好崩溃/退出,因此此时它会加载System.Net.Http
包含在主可执行文件中的 .Net Framework 的库(不知道为什么 VS 包含了我们在应用程序中使用的几乎所有标准库)。
无论如何,在使用 WinDBG 调试应用程序后,日志显示当启动 http 请求时,应用程序加载了这个加载本机 dll 的 dll“System.Net.Http.ni.dll”,这SysWOW64\WINNSI.DLL
就是它的fast_fail()
来源,它似乎是从要么 要么System.Net.Http.ni.dll
,SysWOW64\WINNSI.DLL
确切的子代码是0x2 FAST_FAIL_STACK_COOKIE_CHECK_FAILURE
。
我们一直认为可能是依赖冲突引起的,解决了所有的冲突后仍然发生崩溃,此时我们不知道在哪里寻找原因。
一些信息:
- 主 App/EXE 使用 .Net Framework v4.6.2
- 使用 .Net Framework 4.6 引用其他一些项目
- 该应用程序以发布模式部署并且被混淆(包括打包器/压缩器)
任何帮助/信息将不胜感激,WinDBG 的日志包含在下面。