网站如何提交给百度京东商城网站首页

张小明 2026/1/12 22:50:50
网站如何提交给百度,京东商城网站首页,大学物流仓储作业代做网站,秀米官网登录入口一#xff1a;背景1. 讲故事这是训练营里的学员找到我的#xff0c;让我帮忙看下为什么他的客户程序会偶发的出现 报错弹框#xff0c;由于dump比较敏感#xff0c;这里就不截图发出来了#xff0c;由于是错误弹框#xff0c;并不会出现程序崩溃#xff0c;而且朋友在日…一背景1. 讲故事这是训练营里的学员找到我的让我帮忙看下为什么他的客户程序会偶发的出现 报错弹框由于dump比较敏感这里就不截图发出来了由于是错误弹框并不会出现程序崩溃而且朋友在日志中也看到了 OOM 异常就是因为这个 OOM 异常导致了后续流程的 报错弹框说这个程序的内存还行在业务代码中用了 try catch 吞掉异常了让我帮忙看下。由于 OOM dump没到手而且代码中使用 try catch 吞掉了有些人可能就没撤了其实知道 异常两阶段 的朋友应该知道我们可以在 first chance 的时候抓dump即 catch 之前所以就有了下面的捕获脚本。procdump 20860 -e 1 -f PAVException -ma -o D:\testdump\顺利拿到dump之后接下来就是一顿分析了。二OOM分析1. 为什么会 OOM双击 dump 之后映入眼帘的就是异常线程的现场信息参考如下This dump file has an exception of interest stored in it.The stored exception information can be accessed via .ecxr.(15fc.4fe8): C EH exception - code e06d7363 (first/second chance not available)For analysis of this file, run !analyze -veax2b1aefa0 ebx19930520 ecx00000003 edx00000000 esi037eebc0 edi530bb548eip77383874 esp2b1aefa0 ebp2b1aeffc iopl0 nv up ei pl nz ac pe nccs0023 ss002b ds002b es002b fs0053 gs002b efl00000216KERNELBASE!RaiseException0x64:77383874 8b4c2454 mov ecx,dword ptr [esp54h] ss:002b:2b1aeff4224e4fd8从卦中可以看到 RaiseException 就是托管异常的明证接下来用 .ecxr ; k 观察异常调用栈。0:052 .ecxr;keax2b1aefa0 ebx19930520 ecx00000003 edx00000000 esi037eebc0 edi530bb548eip77383874 esp2b1aefa0 ebp2b1aeffc iopl0 nv up ei pl nz ac pe nccs0023 ss002b ds002b es002b fs0053 gs002b efl00000216KERNELBASE!RaiseException0x64:77383874 8b4c2454 mov ecx,dword ptr [esp54h] ss:002b:2b1aeff4224e4fd8*** Stack trace for last set context - .thread/.cxr resets it# ChildEBP RetAddr00 2b1aeffc 52e3c8fb KERNELBASE!RaiseException0x6401 2b1af02c 52fee8fc coreclr!_CxxThrowException0x66 [d:\a01\_work\11\s\src\vctools\crt\vcruntime\src\eh\throw.cpp 74]02 2b1af040 52d481a8 coreclr!ThrowOutOfMemory0x24 [D:\a\_work\1\s\src\coreclr\src\utilcode\ex.cpp 1044]03 2b1af074 30b8f91e coreclr!LargeHeapHandleTable::AllocateHandles [D:\a\_work\1\s\src\coreclr\src\vm\appdomain.cpp 381]WARNING: Frame IP not in any known module. Following frames may be wrong.04 2b1af074 05990114 0x30b8f91e05 2b1af074 52d452e7 0x599011406 2b1af0c8 52d453e7 coreclr!AllocateSzArray0x227 [D:\a\_work\1\s\src\coreclr\src\vm\gchelpers.cpp 427]07 2b1af14c 5257296e coreclr!JIT_NewArr10xb7 [D:\a\_work\1\s\src\coreclr\src\vm\jithelpers.cpp 2723]08 2b1af160 52581bcf System_Private_CoreLib!System.Text.Encoding.GetBytes0x22 [_/src/libraries/System.Private.CoreLib/src/System/Text/Encoding.cs 667]09 2b1af168 263e7ad6 System_Private_CoreLib!System.Text.UTF8Encoding.UTF8EncodingSealed.GetBytes0x1b0a 2b1af1a8 263e7a43 xxx!xxx.xxxxHashData0x46从卦中可以清晰的看到原来是在 xxxxHashData 中执行了 GetBytes 时抛出的 OOM 异常, 那为什么 GetBytes 会抛出异常呢这个只能结合源代码说话了。2. GetBytes 为什么会抛出 OOM找到 xxxxHashData 下的 GetBytes 方法截图如下从卦中可以看到参数是一个 string看样子这就是突破口了使用 !clrstack -a 观察这个 s 的具体值参考如下0:052 !clrstack -aOS Thread Id: 0x4fe8 (52)Child SP IP Call Site2B1AF0E8 77383874 [HelperMethodFrame: 2b1af0e8]2B1AF154 5257296e System.Text.Encoding.GetBytes(System.String) [/_/src/libraries/System.Private.CoreLib/src/System/Text/Encoding.cs 667]PARAMETERS:this (CLR reg) 0x05b5b674s (CLR reg) 0x348d1010LOCALS:no datano datano data0:052 !DumpObj /d 348d1010Name: System.StringMethodTable: 0568ec98EEClass: 0569a8c0Size: 83886094(0x500000e) bytesString: String is invalid or too large to printFields:MT Field Offset Type VT Attr Value Name056873b4 4000212 4 System.Int32 1 instance 41943040 _stringLength056854e0 4000213 8 System.Char 1 instance 54 _firstChar0568ec98 4000211 60 System.String 0 static 05b512b0 Empty0:052 ? 0x500000eEvaluate expression: 83886094 0500000e从卦中看真的是吓一跳string.length4194w 真尼玛大并且 string 的重量高达 83M就是由于这个 83M 的string被 clr 直接给屏掉了。。。接下来的问题是为什么 clr 会屏掉呢3. clr 为什么会屏掉有一些 clr 基础知识的朋友应该知道这种 OOM 异常一般是两种情况。通过 if 语句判断是否超限这个在训练营里面都有讲到参考代码如下// Limit the maximum string size to 2GB to mitigate risk of security issues caused by 32-bit integer// overflows in buffer size calculations.if (cchStringLength CORINFO_String_MaxLength)ThrowOutOfMemory();向托管堆要指定大小的内存要不到的时候这个可以用 !ao 命令观察。0:052 !aoDidnt have enough memory to allocate an LOH segmentDetails: LOH Failed to reserve memory 50,331,648 bytes从上面的卦数据来看是 clr 向大对象堆预定50M的连续地址空间时结果要不到clr非常无奈抛出了这个OOM异常。接下来的问题是为什么要不到呢4. 为什么托管堆拒绝了有经验的朋友应该知道是咋回事了对就是虚拟地址空间不足导致的。。。 可以用 !address -summary 观察虚拟地址空间大小。0:052 !address -summary--- Usage Summary ---------------- RgnCount ----------- Total Size -------- %ofBusy %ofTotalunknown 1091 3e78b000 ( 999.543 MB) 64.47% 48.81%Free 380 1f183000 ( 497.512 MB) 24.29%Image 1039 17d37000 ( 381.215 MB) 24.59% 18.61%Stack 219 6100000 ( 97.000 MB) 6.26% 4.74%Heap 38 4751000 ( 71.316 MB) 4.60% 3.48%TEB 73 11a000 ( 1.102 MB) 0.07% 0.05%Other 21 3d000 ( 244.000 kB) 0.02% 0.01%PEB 1 3000 ( 12.000 kB) 0.00% 0.00%--- Type Summary (for busy) ------ RgnCount ----------- Total Size -------- %ofBusy %ofTotalMEM_PRIVATE 1010 36608000 ( 870.031 MB) 56.12% 42.48%MEM_IMAGE 1142 17e6c000 ( 382.422 MB) 24.67% 18.67%MEM_MAPPED 330 129f9000 ( 297.973 MB) 19.22% 14.55%--- State Summary ---------------- RgnCount ----------- Total Size -------- %ofBusy %ofTotalMEM_COMMIT 1937 4fdd5000 ( 1.248 GB) 82.42% 62.40%MEM_FREE 380 1f183000 ( 497.512 MB) 24.29%MEM_RESERVE 545 11098000 ( 272.594 MB) 17.58% 13.31%从卦中可以看到虽然 MEM_RESERVE272M 但没有哪一块是大于 50M 的所以直接导致灾难的发生到这里该如何解决呢这其实也是一个经典的问题即 32bit 程序 2G 地址空间问题修改办法如下使用大地址 LargeAddress让程序尽量吃 4G 内存。将程序调整到 64bit让虚拟地址不再捉襟见肘。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

西安企业建站素材呼和浩特 的网站建设

还在为Expo应用的通知功能配置头疼吗?总是遇到推送失败、权限问题或后台任务不执行?别担心,这篇指南将用最简单的方式带你掌握Expo推送通知的全套配置技巧。读完本文,你将能够:快速配置基础通知参数、正确处理后台任务…

张小明 2026/1/12 13:28:02 网站建设

杭州网站优化体验wordpress 缩略图作用

手把手带你玩转 CP2102:从零开始配置 USB 转串口通信 你有没有遇到过这样的情况——手里的开发板、传感器或单片机项目需要通过串口调试,但笔记本却连一个 RS-232 接口都没有?别担心,这几乎是每个嵌入式工程师和电子爱好者的“入…

张小明 2026/1/9 8:08:59 网站建设

绿色环保材料网站模板做影视网站对服务器要求

简介 本文提出企业级智能体系统的四层架构:应用场景层(智能分析、数据工程等)、核心功能层(角色定义、感知-规划-执行等)、基础能力层(专业化培训、可靠性保障等)和硬件框架层。强调未来竞争在于智能体与业务融合的深度,而非模型参数大小。这是一种从&qu…

张小明 2026/1/7 20:31:20 网站建设

汶上网站建设多少钱汕头最新新闻消息

还在为多语言文档处理效率低下而苦恼?pot-desktop与SnipDo的深度融合,为Windows用户带来了前所未有的翻译体验革命。通过本文的完整配置指南,你将掌握如何在5分钟内实现系统级一键翻译,彻底告别繁琐的复制粘贴操作,让语…

张小明 2026/1/9 4:55:00 网站建设

吉林省延边州建设局网站新建定制网站费用

摘 要 随着铁路运输需求的迅猛攀升与智能化技术的持续革新,自动化自动化智能自动化智能铁路交叉系统已成为提高铁路运行效能与安全保障能力的核心研究范畴。本文对近阶段自动化智能自动化智能铁路交叉系统的研究成果进行了系统性梳理,内容广泛涉及系统架…

张小明 2026/1/9 16:10:23 网站建设

如何做网络推广网站上海 网站撤销备案

Palworld存档工具终极指南:快速解决非压缩存档异常 【免费下载链接】palworld-save-tools Tools for converting Palworld .sav files to JSON and back 项目地址: https://gitcode.com/gh_mirrors/pa/palworld-save-tools 作为一款备受欢迎的生存建造游戏&a…

张小明 2026/1/11 18:21:36 网站建设