一:背景 1. 講故事 今天分享的dump是訓練營里一位學員的,從一個啥也不會到現在分析的有模有樣,真的是看他成長起來的,調試技術學會了就是真真實實自己的,話不多說,上windbg說話。 二:WinDbg 分析 1. 為什麼會卡死 這位學員是從事工控大類下的視覺自動化,也是目前.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 symbols functions data
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
是什麼公司,