我面临DbGHelp API的奇怪行为,我甚至找不到解释理论。我有一些PDB文件(用于DLL;从Internet下载),我正在寻找PDB文件中的特定符号。我尝试了四种选择:
所有这些选项都在Windows 10上使用,并且所有这些选项都加载了相同的dbghelp.dll(已检查; 10.0.14321.1024),但选项#1除外(它带有自己的dbghelp.dll版本6.3.0017.0)
现在,在所有情况下都可以找到所需的符号。然而,选项#1,#3和#4报告此符号的TypeIndex = 0,Size = 0和Tag = SymTagPublicSymbol,这是不正确的。只有选项#2报告带有TypeIndex = 2,Size = 295和Tag = SymTagFunction的符号,这确实是正确的。我所有尝试使用一些代码(我的或不编译)获取正确的符号信息现在都没有结束。我前一段时间才建立的TYPEINFODUMP只会带来正确的结果。我绝对绝望。这种情况有合理的解释吗?我可能会错过什么?