提问人:choes 提问时间:2/3/2023 更新时间:2/17/2023 访问量:145
VS2022 17.4.4 社区调试器,旧编译器工具集在悬停时不显示变量值
VS2022 17.4.4 Community debugger with older compiler toolsets not showing variable values on hover
问:
我正在使用 Visual Studio 2022 进行日常开发,我有绑定到较旧库或平台的二进制文件,因此我将平台工具集属性设置为较旧版本。
但它没有在悬停时显示变量值。
如果将平台工具集修改为 Visual Studio 2022(v143),则有效。
谁能帮我解决这个调试问题?提前致谢。
答:
0赞
Dou Xu-MSFT
2/17/2023
#1
我在 VS2022 17.4 中使用编译器 VS2010 进行了测试,并重现了该问题。但我发现是 c++ 中的一种类。在本地窗口中使用旧的编译器工具集 VS2010 进行调试时,它确实返回类类型数据结构。展开 ,您将在 char* 类型数据结构中看到 中的值。您可以在监视窗口中添加,您会看到它以 char* 类型显示值。
c_str返回一个 const char*,它指向一个以 null 结尾的字符串(即 C 样式的字符串)std::string
str
test
_Buf
str. c_str()
我想在两次编译之间在调试模式下显示字符串类型变量值的差异的原因取决于编译器。 如果你想让它在VS2010编译器的悬停时显示变量值,这里有一个解决方法来实现它。
const char* str = "test";
char str[] = "test";
评论
0赞
choes
3/1/2023
感谢您对此问题的调试。我们将工具集升级到 v143,我不打算深入研究它。
评论