我使用Visual Studio 2013调试应用程序中的崩溃,调用堆栈显示msxml6.dll。
我在Windows 7 64位上运行。该应用程序是64位应用程序。
我设置了MS符号服务器但是看起来我的msxml6.dll不同/不同;我匹配从符号服务器获得的pdb。
这是我在msxml6.dll上运行ChkMatch和从符号服务器运行pdb时获得的输出。
Executable: C:\Windows\System32\msxml6.dll
Debug info file: C:\Development\SymbolServer\msxml6.pdb\959E73C66A974E269B0603DA498D5F392\msxml6.pdb
Executable:
TimeDateStamp: 5332e37e
Debug info: 2 ( CodeView )
TimeStamp: 5332de40 Characteristics: 0 MajorVer: 0 MinorVer: 0
Size: 35 RVA: 0010bcec FileOffset: 0010b0ec
CodeView format: RSDS
Signature: {b6fd5008-d95b-49c5-9228-b26ab92d9e80} Age: 2
PdbFile: msxml6.pdb
Debug info: 10 ( Unknown )
TimeStamp: 5332de40 Characteristics: 0 MajorVer: 565 MinorVer: 6526
Size: 4 RVA: 0010bce8 FileOffset: 0010b0e8
Debug information file:
Format: PDB 7.00
Signature: {959e73c6-6a97-4e26-9b06-03da498d5f39} Age: 4
Result: Unmatched (reason: Signature mismatch)
以下是调试器中堆栈的顶部:
msxml6.dll!assign(IUnknown * * ppref=0x0000000002df12e0, void * pref=0x0000000001bd4180) Line 39 C++ msxml6.dll!NodeIteratorState::getNext(EnumVariant * pEnum=0x000000000042d600) Line 133 C++ msxml6.dll!DOMNodeList::nextNode(IXMLDOMNode * * ppNode=0x0000000000000000) Line 3064 C++
所以我的问题是 - 如何获得正确的pdb? 没有正确的pdb,堆栈信息是没用的。
修改 我从这里下载了符号: https://developer.microsoft.com/en-us/windows/hardware/download-symbols 并且仍然没有运气得到与我的机器上匹配的pdb。