我正在将一些Windows头文件翻译成Delphi。为了验证相关C结构的对齐,我需要转储某些PDB文件以查看相关的类型信息。为此,我尝试使用PdbXtract,但此工具要求我选择要检查的PDB文件。我如何知道哪个PDB文件包含所需的结构定义?
答案 0 :(得分:1)
使用SysInternals(现为MS)中的strings.exe命令行实用程序。我在我的符号文件夹中运行了以下strings -s . | findstr /i critical_section
并获得了许多有趣的输出:
C:\debuggers-v6.12.2.633-x86\sym\verifier.pdb\8878279C450C4F4DA6B252A4B824B4981\verifier.pdb: _RTL_CRITICAL_SECTION
C:\debuggers-v6.12.2.633-x86\sym\verifier.pdb\8878279C450C4F4DA6B252A4B824B4981\verifier.pdb: U_RTL_CRITICAL_SECTION@@
C:\debuggers-v6.12.2.633-x86\sym\wntdll.pdb\B193CACD9AB340E7BF3434EA1ABBE0482\wntdll.pdb: _RTL_CRITICAL_SECTION
C:\debuggers-v6.12.2.633-x86\sym\wntdll.pdb\B193CACD9AB340E7BF3434EA1ABBE0482\wntdll.pdb: U_RTL_CRITICAL_SECTION@@
C:\debuggers-v6.12.2.633-x86\sym\wntdll.pdb\B193CACD9AB340E7BF3434EA1ABBE0482\wntdll.pdb: _RTL_CRITICAL_SECTION_DEBUG
答案 1 :(得分:0)
在使用十六进制编辑器调查PDB文件后,我想知道哪个PDB文件包含所需的结构定义,使用 grep-like 工具搜索包含以下正则表达式模式的PDB文件名:
\x15\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00_Struct_Name\x00