debugging - 如何在“变量”窗口中显示结构成员(MSVC 2019)[更新]
问题描述
我正在开发一个使用 MSVC 2019 构建的应用程序。过去,我能够在调试时(通过单击“+”号)在“变量”窗口中查看结构成员。本周停止工作:变量窗口仅显示十六进制地址)。我没有(故意)更改任何构建设置,但问题仍然存在。源代码没有变化。
关于我做错了什么的任何想法?
我试过了:
- 删除调试子目录并重建所有
- 检查:设置->C/C->常规->调试信息格式:使用/Zi,但尝试了所有其他选项。
- 选中:设置->C/C++->启用浏览信息:是
- 已选中:变量:未选中十六进制显示。
详细信息:
设置->C/C++->预处理器->附加包含目录指定的包含文件目录:
使用 MSVC v2019
Dell Optiplex Win10/64编译
2021 年 3 月 25 日更新
- 到目前为止,这个问题只发生在我构建 SSL/TLS 应用程序时。我已经尝试了几个具有相同结果的 SSL 包(GitHub OpenSSL、FireDaemon、Shining Light 等)。我从每个包中包含 ssl.h。
- 我的应用程序中定义的结构成员正确显示
解决方案
我发现了问题。根据
https://wiki.openssl.org/index.php/OpenSSL_1.1.0_Changes,许多数据结构在 v1.1.0 中已变得“不透明”,并且结构成员不再可访问。
对于代码纯粹主义者来说是美好的一天,但对于我们其他可怜的人来说,这让调试变得困难。恕我直言,似乎无法解决此问题。
推荐阅读
- python - 为什么在平面推导的第二个变量上会出现 UnboundLocalError?
- php - 如何从 Sigfox 服务器接收我网页上的上行链路数据?
- javascript - d3在setinterval动画完成时更改按钮样式
- sql - Teradata SQL 查询问题
- tfs - Enterprise Architect (EA) 无法识别 TFS 工作区
- matlab - 没有循环的矩阵和向量的点积
- reactjs - apollo-client 用于发出多个请求以进行实时搜索
- c++ - 如何以组合形式 C++ 打印此表?
- c# - 需要通知托盘上的按钮
- mysql - 如何进行 SQL 查询