微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在“变量”窗口中显示结构成员 (MSVC 2019) [更新]

如何解决如何在“变量”窗口中显示结构成员 (MSVC 2019) [更新]

我正在开发使用 MSVC 2019 构建的应用程序。过去,我可以在调试时(通过单击“+”号)在“变量”窗口中查看结构成员。本周停止工作:变量窗口仅显示十六进制地址)。我没有(有意)更改任何构建设置,但问题仍然存在。源代码没有变化。
对我做错了什么有任何想法吗?

我试过了:

  • 删除调试子目录并重建所有
  • 检查:设置->C/C->常规->调试信息格式:使用/Zi,但尝试了所有其他选项。
  • 勾选:设置->C/C++->启用浏览信息:是
  • 选中:变量:未选中十六进制显示

详情:
通过设置->C/C++->预处理器->附加包含目录指定的包含文件目录:
用 MSVC v2019 编译
戴尔 Optiplex Win10/64

更新 03/25/2021

  • 到目前为止,这个问题只发生在我构建 SSL/TLS 应用程序时。我已经尝试了几个具有相同结果的 SSL 包(GitHub OpenSSL、FireDaemon、Shining Light 等)。我在每个包中都包含了 ssl.h。
  • 在我的应用中定义的结构成员正确显示

解决方法

您应该取消选中 Locals 窗口下的 Hexadecimal Display 选项。

enter image description here

enter image description here

,

我发现了问题。根据 https://wiki.openssl.org/index.php/OpenSSL_1.1.0_Changes,许多数据结构在 v1.1.0 中变得“不透明”,并且结构成员不再可访问。
对于代码纯粹主义者来说是美好的一天,但它让我们这些可怜的人难以调试。 恕我直言,似乎无法解决这个问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。