匹配符号名称
在某些情况下,符号的实际名称将替换为另一种形式,这可能会导致符号匹配问题。 在公共符号和专用符号之间更改或对文件使用 MS-DOS 兼容性 8.3 短名称时,这种情况最常发生。
公共符号与专用符号匹配
在公共符号和私有符号之间切换有时可能会导致符号匹配问题。 通常,公共符号和相应的私有符号具有相同的名称,具有不同的符号修饰。 但在某些情况下,它们可能具有完全不同的名称。 在这种情况下,可能需要显式引用这两个名称。 例如,可以设置两个断点:一个在公共符号上,另一个在私有符号上。 有关更多详细信息,请参阅 公共符号和专用符号。
MS-DOS 兼容性 8.3 短名称符号匹配
有时会为具有很长名称的文件提供自动生成的 MS-DOS 兼容性 8.3 短名称。 根据用于创建符号文件和调试的工具和选项,存储在图像的调试记录中的文件名可以是长名称或这些短名称之一。 如果使用短名称,这可能会导致符号匹配问题,因为分配的短名称依赖于系统。
例如,假设有两个文件,Longfilename1.pdb 和 Longfilename2.pdb。 如果它们位于同一目录中,则其 MS-DOS 兼容性 8.3 名称为 Longfi~1.pdb,另一个名称为 Longfi~2.pdb。 如果它们不放在同一目录中,则它们都是 Longfi~1.pdb。 因此,如果不小心复制了关联的 .pdb 文件,短文件名可能会更改,从而导致符号匹配问题。 有关更多详细信息,请参阅 文件系统引用和符号文件。