The BSOD issue has been bugging me for a while. :tired_face:

At the very begining, I thought it’s regardless of our App because I don’t think our service(a windows service running under local service account) gets the power to crash OS.

However, with the constant duplication of this issue, I have to believe it’s related to our App. Even our app is not the root cause, it at least triggers something leading to the crash.

So after learnt about how to analyze the dump file with the utility Windbg and how to debug the issue with the dump file and the symbol files(.pdb) of the executables, I started digging into this issue.

Based on the findings, with the symbol files, the culprit crashing the service was locked. A method that is invoked on each bits job completes threw an unhandled stackoverflow exception. Furthermore, I found this method was called more than 3 thouand times and I believe that’s why the stack of the thread was used up.

Finally, I got this BSOD issue fixed :laughing:

In general, for the diagnostics of a crash issue, the dump files and the symbol files(.pdb) are required. If some symbol files of the managed libraries could not be found then DotPeek may help by generating corresponding symbol files.

OK. following steps should be taken when trying to figure out what caused an BSOD error(Blue Screen Of Died, bugcheck or etc.):

  1. Never, ever, fully trust your code :broken_heart:
  2. Analyze the memory dump with the utility Windbg, through which we could have a basic view of the error type and which application or module caused the error.
  3. Go over the system event logs to see if there’s any clue.
  4. If a specific application could be determined as the culprit of the error then try to dump the specific app by WER(Windows Error Report)
    more detail please refer to http://blogs.msdn.com/b/chaun/archive/2013/11/12/steps-to-catch-a-simple-crash-dump-of-a-crashing-process.aspx
  5. Once got the dump and the symbol files you’re able to debug the error with Visual Studio. Open dump file first and make sure all symbol files have been put into the same position where the crash dump occurs.
  6. During debugging the error with Visual Studio, take a notice on the call stack where you could trace track of calls that lead to the crash.
  7. Good luck!

BSOD Diagnostics相关推荐

  1. R语言广义线性模型函数GLM、(Model fit and regression diagnostics)、模型充分性评估方法、使用plot函数以及car包函数

    R语言广义线性模型函数GLM.(Model fit and regression diagnostics).模型充分性评估方法.使用plot函数以及car包函数 目录

  2. R语言lm函数拟合多项式回归模型、删除数据中的异常样本outlier、之后诊断模型( diagnostics)、使用plot函数打印回归模型的QQ图、残差拟合图、标度-位置图、残差与杠杆关系图

    R语言使用lm函数拟合多项式回归模型( Polynomial regression).删除数据中的异常样本(outliser).之后再次诊断模型(Regression diagnostics).使用p ...

  3. 模型诊断(Model Diagnostics)是什么?具体包含哪些内容?

    模型诊断(Model Diagnostics)是什么?具体包含哪些内容? 如何确定模型调优的方向与思路呢?这就需要对模型进行诊断的技术. 过拟合.欠拟合判断是模型诊断中至关重要的一步.常见的方法如交叉 ...

  4. mysql get_mysql GET DIAGNOSTICS 语法

    MySQL 5.6 提供了 get diagnostic 语句来获取错误缓冲区的内容,然后把这些内容输出到不同范围域的变量里,以便我们后续灵活操作 语法如下: GET [CURRENT] DIAGNO ...

  5. System.Diagnostics.Process.Start()

    System.Diagnostics.Process.Start(); 这个方法用来创建一个新的进程 比如说你在某个程序的菜单上想加个超链接到百度知道 那么就可以用这个方法来实现 System.Dia ...

  6. “System.Transactions.Diagnostics.DiagnosticTrace”的类型初始值设定项引发异常。

    "System.Transactions.Diagnostics.DiagnosticTrace"的类型初始值设定项引发异常. 参考文章: (1)"System.Tran ...

  7. 05 Diagnostics 诊断

    Diagnostics 诊断 Introduction 介绍Profiling 分析Tracing 跟踪Debugging 调试Runtime statistics and events 运行时统计信 ...

  8. Rolling element bearing diagnostics using the Case Western Reserve University data-学习笔记

    Rolling element bearing diagnostics using the Case Western Reserve University data: A benchmark stud ...

  9. SAP UI5 应用开发教程之四十二 - SAP UI5 自带的 Diagnostics 诊断工具使用方法介绍

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  10. .NET 6 全新指标 System.Diagnostics.Metrics 介绍

    前言 工友们, .NET 6 Preview 7 已经在8月10号发布了, 除了众多的功能更新和性能改进之外, 在 preview 7 版本中, 也新增了全新的指标API, System.Diagno ...

最新文章

  1. java 广义表_数据结构:广义表的实现(Java)
  2. VTK:Actor边缘颜色用法实战
  3. 我的2021年终总结:初为人父,从头再来
  4. java 插件开发 互相依赖_java – Eclipse插件开发:有没有办法控制有关我的插件缺少依赖项的安装程序消息?...
  5. Java GregorianCalendar getActualMinimum()方法与示例
  6. ubuntu server 下使用subversion的总结【原创】
  7. 软件架构(7)---软件架构设计-五视图方法论
  8. 95-080-054-源码-启动-启动TaskManager
  9. Hive Hooks介绍
  10. python 通过索引迭代列表_Python的索引迭代
  11. 堆排序(php实现)
  12. 树莓派I2C通过Shell操作FDC2214
  13. 深入理解Java-GC机制
  14. 「 数学模型 」“三角函数化简公式”小结
  15. The 'mode' option has not been set, webpack will fallback to 'production' for th is value
  16. word中公式全篇一次性转math type公式方法,而且出现omml2mml.xsl 问题的解决方法(有效!!!)
  17. discuz 获取会员头像
  18. 利用矩阵相乘公式Cij = ∑ a ik × b kj,编程计算m×n阶矩阵A和n×m阶矩阵B之积
  19. VS2010在加载项目时,提示无法打开项目文件, 此安装不支持该项目类型的解决方法
  20. Windows Server 2008 域操作(创建域、加入域、创建普通用户、组策略管理设置)

热门文章

  1. Internet浏览器,C:\fakepath路径问题
  2. BetaFlight开源代码框架简介
  3. 英文文献中常见拉丁字母缩写
  4. zip压缩文件内中文名字符编码解压乱码问题
  5. java 调用科大讯飞 实现会议录音,语音转写会议既要功能
  6. php文本生成图片,php文本文字创建生成图片_PHP教程
  7. Excel如何从身份证号码中提取性别
  8. 微信小程序:最新掌上题库微信小程序源码下载,修复登录接口,支持在线考试,自定义导入考题
  9. 《医院信息系统(HIS)软件基本功能规范》98版 [赏析]
  10. QT基本操作(简易教程)