惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 水手paul2008

MySQL 数据库归档日志相关 SQL Server 数据库给第三方用户开权限,限制可见内容。 visual svn server 迁移 windbg preview调试winform程序卡死 JavaScript的数字运算不准的问题 .net List.ForEach内部Async/Await 异步的问题 asp.net core 大并发设置 SQLServer数据库优化 IIS日志分析工具 .Net的三个Timer内Interval是不精确的 IE 碰到<不能执行已释放 Script 的代码> IIS应用程序池设置若干 关于thinkpad t440s的声卡失真问题,竟然带来对旧电脑的惊喜 ArcMap10.4 遇到严重的应用程序错误,无法继续 给汽车换牌照灯的故事 .Net 混淆器ConfuserEx 车辆年检、强险、车船税的关系 .Net下几种ORM Windows 刷新图标命令
windbg 调试 winform程序(二车间机台程序)
水手paul2008 · 2022-03-01 · via 博客园 - 水手paul2008

背景:

车间机台12点40分钟无缘故死机,而且不少机台这样,是同一秒死机,程序日志没有记录任何有用信息。和windows日志,有Application Hang的错误,以及Windows Error Report错误,也指示ApplicaitonHangB1错误。

但测试网络的ping程序,未在错误发生时间点,记录到异常。

应对策略:

在出问题的时机,到现场直接转储机台程序的进程内存,分析转储文件。看看主线程堆栈到底在哪Hang住。

Dump机台程序:

因为机台程序(Com.Wisdom.TJOD.Client.App.exe)是以32位运行的,故用32位任务管理器Dump C:\Windows\SysWOW64\Taskmgr.exe 32位任务管理器。

Symbol Search Path设置:

路径最好不要有中文。 前部分是程序文件,后部分指定下载目录。 

C:\Users\Administrator\Desktop\bug\debug;srv*d:\symbols*http://msdl.microsoft.com/download/symbols

保存Symbol Search Path设置:

每次Save Workspace,再次调试时再Open workspace,就能记住Symbol Search Path。

加载sos:

机台是车间电脑,为win10,本机也是win10,但.net sos.dll版本不同。需要从机台获取sos.dll

SOS.dll 随 .NET Framework 安装在 %windir%\microsoft.net\framework\<.NET 版本> 目录下。我们程序在这,C:\Windows\Microsoft.NET\Framework\v4.0.30319\SOS.dll

用 .load  C:\Windows\Microsoft.NET\Framework\v4.0.30319\SOS.dll 加载

用.chain 测试是否加载成功。

用 !eeversion 测试是否加载的是正确sos.dll版本。

因为程序hang住,故查看线程堆栈。!threads 查看线程

 !eestack 查看所有线程堆栈   !clrstack 查看当前线程托管堆栈

切换线程:

~3  查看3号线程

~3s   切换到3号线程

清屏:

.cls

查看符号

lm 列出模块,deferred 是迟加载的意思

若要强制加载符号,使用.reload /f

参考:https://www.cnblogs.com/kekec/archive/2012/12/02/2798020.html

 https://www.cnblogs.com/lbq1221119/archive/2008/06/17/1224301.html