Debugging Tools for Windows |
在某些情况下,一些符号的实际名字被替换掉会造成符号匹配的问题。这一般是由于在公共和私有符号之间切换,或者文件使用了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文件复制时没有注意,短文件名可能会改变,造成符号匹配的问题。