在MSVC 2012调试期间,我试图从“监视”窗口调用一些函数,以便将数据转储到文件中。但是,我一直收到这样的错误:
Function Matrix::Save has no address, possibly due to compiler optimizations. 类Matrix位于我自己的外部库中。快速检查发现,外部库中的任何方法都没有地址,所有从Watch调用它们的尝试都会返回此错误,只有在头文件中定义的方法除外。无论在哪里定义,主项目中的方法都有地址。
当然,优化在整个解决方案中都是禁用的。符号正常加载。我该怎么解决呢?
发布于 2014-12-05 10:25:49
到目前为止,我在静态构建外部库时找到了一个解决办法。通过静态链接库,可以找到方法的地址。配置管理器允许很容易地为发布保留动态库。
发布于 2017-07-24 09:04:31
更简单的问题是,您可以在当前代码分支中至少调用一次目标函数(Matrix::Save)。然后它将有一个地址,因为它被使用。
https://stackoverflow.com/questions/27300112
复制相似问题