网站内部流程杭州网站建设专注乐云seo

张小明 2026/1/19 19:17:24
网站内部流程,杭州网站建设专注乐云seo,郑州建设信息网 首页,如何做网站大图片一#xff1a;背景1. 讲故事这段时间都在跑外卖#xff0c;感觉好久都没写文章了#xff0c;今天继续给大家带来一篇崩溃类的生产事故#xff0c;这是微信上有位老朋友找到我的#xff0c;让我帮忙看下为啥崩溃了#xff0c;dump也在手#xff0c;接下来就可以一顿分析。…一背景1. 讲故事这段时间都在跑外卖感觉好久都没写文章了今天继续给大家带来一篇崩溃类的生产事故这是微信上有位老朋友找到我的让我帮忙看下为啥崩溃了dump也在手接下来就可以一顿分析。二崩溃分析1. 为什么会崩溃双击打开dump文件会看到崩溃信息通览参考如下Executable search path is:Windows 10 Version 17763 MP (48 procs) Free x64Product: Server, suite: TerminalServer DataCenter SingleUserTSEdition build lab: 17763.1.amd64fre.rs5_release.180914-1434Debug session time: Fri Oct 31 17:38:42.000 2025 (UTC 8:00)System Uptime: 14 days 2:42:29.643Process Uptime: 0 days 0:00:58.000.......................................................................................................Loading unloaded module list.This dump file has an exception of interest stored in it.The stored exception information can be accessed via .ecxr.(5a74.6250): Unknown exception - code c0000374 (first/second chance not available)For analysis of this file, run !analyze -vntdll!NtWaitForMultipleObjects0x14:00007ffe57baf0e4 c3 ret从卦中看崩溃码是 c0000374即 ntheap 损坏哈哈到这里一下子就把范围给缩小了。2. 为什么ntheap 损坏那为什么ntheap会损坏呢可以使用 .ecxr 切到崩溃时的调用栈观察崩溃行为。0:032 .ecxr0:032 k*** Stack trace for last set context - .thread/.cxr resets it# Child-SP RetAddr Call Site00 000000b48503ede0 00007ffe57c0b313 ntdll!RtlReportFatalFailure0x901 000000b48503ee30 00007ffe57c13b9e ntdll!RtlReportCriticalFailure0x9702 000000b48503ef20 00007ffe57c13eaa ntdll!RtlpHeapHandleError0x1203 000000b48503ef50 00007ffe57bae109 ntdll!RtlpHpHeapHandleError0x7a04 000000b48503ef80 00007ffe57bbbb0e ntdll!RtlpLogHeapFailure0x4505 000000b48503efb0 00007ffe17d17b3f ntdll!RtlFreeHeap0x9d3ce06 000000b48503f050 00007ffe541392af AcLayers!NS_FaultTolerantHeap::APIHook_RtlFreeHeap0x41f07 000000b48503f0b0 00007ffe3773b17e KERNELBASE!LocalFree0x2f08 000000b48503f0f0 00007ffe37661d12 mscorlib_ni0x58b17e09 000000b48503f1a0 00007ffde49fe127 mscorlib_ni!System.Runtime.InteropServices.Marshal.FreeHGlobal0x22 [f:\dd\ndp\clr\src\BCL\system\runtime\interopservices\marshal.cs 1212]...0:032 !clrstackOS Thread Id: 0x6250 (32)Child SP IP Call Site000000b48503f118 00007ffe57baf0e4 [InlinedCallFrame: 000000b48503f118] Microsoft.Win32.Win32Native.LocalFree(IntPtr)000000b48503f118 00007ffe3773b17e [InlinedCallFrame: 000000b48503f118] Microsoft.Win32.Win32Native.LocalFree(IntPtr)000000b48503f0f0 00007ffe3773b17e DomainNeutralILStubClass.IL_STUB_PInvoke(IntPtr)000000b48503f1a0 00007ffe37661d12 System.Runtime.InteropServices.Marshal.FreeHGlobal(IntPtr) [f:\dd\ndp\clr\src\BCL\system\runtime\interopservices\marshal.cs 1212]000000b48503f1e0 00007ffde49fe127 b.BA.MoveNext()000000b48503f240 00007ffe376b3423 System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) [f:\dd\ndp\clr\src\BCL\system\threading\executioncontext.cs 954]000000b48503f310 00007ffe376b32b4 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) [f:\dd\ndp\clr\src\BCL\system\threading\executioncontext.cs 902]...000000b48503f5c0 00007ffde49fb04e DomainBoundILStubClass.IL_STUB_ReversePInvoke(Int32, Int32, Int64)从卦中可以清晰的看到是 b.BA.MoveNext 方法中调用了 FreeHGlobal 导致的NTHeap崩溃如果你经验比较足的话看到这个 FreeHGlobal 就应该想到 double free 问题这是一个经典的问题。3. 何为 double free双释放即对一个 block 块进行二次释放windows 的 RtlFreeHeap 方法会在业务逻辑中对这种情况直接判为异常接下来你或许想知道这个 block 的地址是什么这个可以用 !heap -s 观察参考代码如下0:032 !heap -s************************************************************************************************************************NT HEAP STATS BELOW************************************************************************************************************************Details:Heap address: 0000028c75bb0000Error address: 0000028c786018a0Error type: HEAP_FAILURE_BLOCK_NOT_BUSYDetails: The caller performed an operation (such as a freeor a size check) that is illegal on a free block.Follow-up: Check the errors stack trace to find the culprit.Stack trace:Stack trace at 0x00007ffe57c7284800007ffe57bae109: ntdll!RtlpLogHeapFailure0x4500007ffe57bbbb0e: ntdll!RtlFreeHeap0x9d3ce00007ffe17d17b3f: AcLayers!NS_FaultTolerantHeap::APIHook_RtlFreeHeap0x41f00007ffe541392af: KERNELBASE!LocalFree0x2f00007ffe3773b17e: mscorlib_ni0x58b17e00007ffe37661d12: mscorlib_ni!System.Runtime.InteropServices.Marshal.FreeHGlobal0x2200007ffde49fe127: 0xe49fe127LFH Key : 0x765363a7204cf973Termination on corruption : ENABLEDHeap Flags Reserv Commit Virt Free List UCR Virt Lock Fast(k) (k) (k) (k) length blocks cont. heap-------------------------------------------------------------------------------------0000028c75bb0000 00000002 17920 9256 16364 2120 214 5 1 a LFHExternal fragmentation 23 % (214 free blocks)0000028c75b40000 00008000 64 4 64 2 1 1 0 00000028c75de0000 00001002 2636 132 1080 20 5 2 0 0 LFH0000028c76190000 00001002 4680 2268 3124 1420 40 3 0 0 LFHExternal fragmentation 62 % (40 free blocks)0000028c76130000 00001002 2636 472 1080 5 27 2 0 0 LFH0000028c767f0000 00041002 60 8 60 5 1 1 0 00000028c77020000 00041002 60 16 60 2 2 1 0 0-------------------------------------------------------------------------------------从卦中可以看到 Heap address: 0000028c75bb0000 即为 block 地址接下来使用 !heap -x 0000028c786018a0 观察这个 block 块的状态可以看到此时确实是 free 的。0:032 !heap -x 0000028c786018a0Entry User Heap Segment Size PrevSize Unused Flags-------------------------------------------------------------------------------------------------------------0000028c786018a0 0000028c786018b0 0000028c75bb0000 0000028c785c80d0 e0 - 0 LFH;free到这里问题的成因我们是完全搞清楚了接下来就是反推问题代码的时候了。4. 问题代码在哪里应该有朋友知道问题是在 b.BA.MoveNext() 方法中从名字上看这个项目应该是混淆的有点搞哈。。。得要费点眼力截图如下从卦中的 IntPtr intPtr Interlocked.Exchange(ref b.A, IntPtr.Zero); 来看这个 intPtr 是一个类级别变量看样子是多个方法在操控类级别变量时没有合理的控制好为了一探究竟再次分析源代码果然是的截图如下到这里就真相大白了让朋友修改源码自己控制好这个变量。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

行业协会网站建设方案网站开发课设

想要在Unity中创建平滑流畅的路径动画吗?Path-Creator插件正是您需要的终极工具。这个强大的Unity路径创建资产让贝塞尔曲线路径的制作变得简单直观,无论是角色移动、车辆行驶还是摄像机动画,都能轻松实现。本文将为您提供完整的Path-Creator…

张小明 2026/1/17 15:38:32 网站建设

网站做ppt模板下载地址佛山高端网站建设工作室

Linux Windows兼容终极指南:开源工具完整解决方案 【免费下载链接】Bottles Run Windows software and games on Linux 项目地址: https://gitcode.com/gh_mirrors/bo/Bottles 在Linux系统上运行Windows应用程序和游戏已成为现实,通过开源工具的强…

张小明 2026/1/17 15:38:33 网站建设

seo 网站地图2024年新冠会消失吗

EcoPaste剪贴板管理工具完整使用攻略 【免费下载链接】EcoPaste 🎉跨平台的剪贴板管理工具 | Cross-platform clipboard management tool 项目地址: https://gitcode.com/ayangweb/EcoPaste 在数字化工作环境中,重复的复制粘贴操作常常消耗大量宝…

张小明 2026/1/17 15:38:34 网站建设

清远网站seo公司这个网站中有网名做会计的吗 了解一下

在HIV感染者的长期管理中,除了追求高效病毒抑制外,保障患者的肾脏和骨骼健康同样至关重要。传统HIV药物中,有些可能导致肾损伤或骨密度下降,给患者带来额外的健康负担。而必妥维Biktarvy凭借其独特的成分和优化设计,在…

张小明 2026/1/17 15:38:35 网站建设

河南艾特 网站建设公司北京专做粮油米面的配送网站

第一章:Open-AutoGLM项目背景与核心理念Open-AutoGLM 是一个开源的自动化通用语言模型(General Language Model, GLM)构建框架,旨在降低大规模语言模型的研发门槛,推动学术界与工业界在自然语言处理领域的协同创新。该…

张小明 2026/1/17 15:38:36 网站建设

太原做淘宝网站的做视频网站资源采集

第一章:C游戏渲染性能瓶颈分析与突破(渲染质量提升实战指南)在现代C游戏开发中,渲染性能直接影响用户体验。高帧率与高质量视觉效果之间的平衡是开发者面临的核心挑战。识别并突破性能瓶颈,是实现流畅渲染的关键。识别…

张小明 2026/1/17 15:38:37 网站建设