理喻 发表于 2024-6-6 10:55:37

记一次 .NET某工控视觉自动化系统 卡死分析

一:背景

1. 讲故事

今天分享的dump是训练营里一位学员的,从一个啥也不会到现在分析的有模有样,真的是看他成长起来的,调试技术学会了就是真真实实自己的,话不多说,上windbg说话。
二:WinDbg 分析

1. 为什么会卡死

这位学员是从事工控大类下的视觉自动化,也是目前.NET的主战场,这个场景下大多都是WPF或者WinForm程序,不管是什么程序,先用命令 k 开路。
0:000> ~0s
ntdll!NtWaitForMultipleObjects+0x14:
00007ff8`d825cc14 c3            ret
0:000> k
# Child-SP          RetAddr               Call Site
00 000000e4`c0cf87e8 00007ff8`d54f7ff7   ntdll!NtWaitForMultipleObjects+0x14
01 000000e4`c0cf87f0 00007ff8`83aa7585   KERNELBASE!WaitForMultipleObjectsEx+0x107
02 000000e4`c0cf8af0 00007ff8`83aa76fa   PylonBase_v5_1!Pylon::CInstantCameraArray::DestroyInstantCamera+0x78da1
03 000000e4`c0cf8bb0 00007ff8`83a188bc   PylonBase_v5_1!Pylon::CInstantCameraArray::DestroyInstantCamera+0x78f16
04 000000e4`c0cf8c30 00007ff8`83a22a70   PylonBase_v5_1!Pylon::CGrabResultPtr::IsUnique+0x16ec
05 000000e4`c0cf8cd0 00007ff8`41fee2dd   PylonBase_v5_1!Pylon::CGrabResultPtr::IsUnique+0xb8a0
06 000000e4`c0cf8d40 00007ff8`4218711b   0x00007ff8`41fee2dd
...从卦象看真的很不吉利,因为这个等待是一个第三方的SDK库,从 DestroyInstantCamera 名字看就是 立即销毁相机,接下来我们看下 PylonBase_v5_1 是何方圣神?
0:000> lmvm PylonBase_v5_1
Browse full module list
start             end               module name
00007ff8`839e0000 00007ff8`83b5b000   PylonBase_v5_1   (export symbols)       PylonBase_v5_1.dll
    Loaded symbol image file: PylonBase_v5_1.dll
    Image path: C:\Program Files\Basler\pylon 5\Runtime\x64\PylonBase_v5_1.dll
    Image name: PylonBase_v5_1.dll
    Browse all global symbolsfunctionsdata
    Timestamp:      Fri Aug 24 20:41:55 2018 (5B7FFD13)
    CheckSum:         0017E66C
    ImageSize:      0017B000
    File version:   5.1.0.12681
    Product version:5.1.0.12681
    File flags:       0 (Mask 3F)
    File OS:          40004 NT Win32
    File type:      2.0 Dll
    File date:      00000000.00000000
    Translations:   0000.04b0
    Information from resource tables:
      CompanyName:      Basler
      ProductName:      Basler pylon
      InternalName:   PylonBase
      OriginalFilename: PylonBase.dll
      ProductVersion:   5.1.0.12681
      FileVersion:      5.1.0.12681
      PrivateBuild:   
      SpecialBuild:   0
      FileDescription:PylonBase Module
      LegalCopyright:   Copyright (c) 2006-2018 Basler AG - All rights reserved.
      LegalTrademarks:
      Comments:         1d4ccf9b36037580c4655fde004335702d90d3e8
由于我是行外人,所以我好奇的查一下 Basler 是什么公司,
来源:https://www.cnblogs.com/huangxincheng/p/18234656
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 记一次 .NET某工控视觉自动化系统 卡死分析