c++ - 程序状态和调试器不一致

标签 c++ c visual-studio-2013 protocol-buffers visual-studio-debugging

我在 Windows 7 上使用针对 2010 编译器构建的 VS2013(我们已经迁移了开发环境,但不是所有项目)。

我真的不知道如何描述这个问题,或者我会用谷歌搜索。我有一个指向字节缓冲区的指针,它是我们的有线协议(protocol)(代码库早于 Google 及其 Protocol Buffer )。我们有指示 id 和类型的 header ;将指针转换为适当的类型,您就可以访问数据,如果数据的大小是动态的,如字符串字段,则为长度。这些都不足为奇,即使不是有点老派......

但我看到的是我有检查字段 ID 的代码 - 它永远不应该为零。但是条件成立,当我检查调试器中的元素时,缓冲区内容和指针位置都是正确的 - 该字段不为零。

所以我的问题是:

1) 我怎样才能更好地表达这个问题,以便我可以用谷歌搜索它?

2) 你以前见过这个吗?有什么想法吗?

最佳答案

这是一个远景,但是,当项目没有正确构建时,我已经看到了。您可以尝试清理解决方案并重新构建它。

关于c++ - 程序状态和调试器不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29709685/

相关文章:

c++ - 为什么在rapidjson中调用赋值运算符后成员变量发生变化?

c++ - 在 switch 语句中使用 continue

比较内容 2D 指针 C

installation - 无法在 Windows 7 上安装 Visual Studio 2013

C++ 崩溃转储,堆栈在 Win32 异常时展开(当使用 catch(...) 时)- VS 2003

c - 预期说明符限定符列表位于 'if' 之前

iPhone-Cocos2d-Box2d游戏#include <list>问题

c# - Visual Studio 2013 - 如何在控制台中查看输出?

c++ - VS2013 - 多次包含同一 header 时出错

c++ - 将类对象实例作为参数从 main() 传递给另一个类对象实例