我有一个项目是 C++ WIN32 项目。我发现了一个问题,有些符号可以被 windbg 识别,但有些不能。我不知道为什么。特点是:
1) 两者都是 C++ 方法
2) 两个函数都在一个 .cpp 文件中
3) 这两个函数在源文件中非常接近,并且它们都没有被#ifdef 括起来
4)我已经使用dbh.exe检查了符号,windbg中缺少的符号也不在pdb文件中。
我猜符号丢失是否可能是由于类的继承?请推荐,谢谢!垃圾桶
如果你不使用函数,只要它不是虚函数,它可能会被链接器剥离。未使用的全局数据对象也可能被删除。
该函数是否曾被调用?
它可能有助于提供更多细节,说明您为什么认为它是“由于类的继承”
听起来源代码可能与 PDB 文件不兼容。
可能是在生成 PDB 文件后添加的功能?
您可以通过以下方式验证这一点:
我建议的第一件事是重建源代码,看看是否能解决问题。
如果这不起作用,请提供更多信息,以便我们帮助您进一步诊断。