在今年的//BuffE中,我们推出了C/C++扩展 Visual Studio代码 . 与每月发布的节奏和目标保持一致,以不断响应您的反馈,此12月更新引入了以下功能:
如果你还没有给我们反馈,请拿着这个 快速调查 为了满足您的需求,帮助您设计此扩展。这个 原创博客文章 已经更新了这些新功能。让我们现在就来了解他们中的每一个吧!
默认情况下,GDB用户可以通过漂亮的打印实现调试器可视化
漂亮的打印机可以用来使GDB的输出更可用,因此调试更容易由于“setupCommands”部分中的“-enable Pretty Printing”标志,launch.json现在预先配置为启用了漂亮打印。此标志传递给GDB MI以启用打印。
为了演示漂亮打印的优点,让我们举下面的例子。
#包括
使用名称空间标准;
int main(){向量 在实时调试会话中,让我们评估“str”和“testvector”,而不启用漂亮的打印: 查看“str”和“testvector”的值。看起来很神秘… 现在让我们计算’str’和’testvector’ 启用漂亮打印 : 有一些即时的满足就在那里! 有一个预定义的STL容器的漂亮打印机的选择来作为默认GDB发行版的一部分。你也可以 按照本指南创建您自己的漂亮打印机 . VisualStudio代码根据调试器返回的代码文件路径在调试期间显示代码文件。调试器在编译过程中嵌入源位置,但如果使用已移动的源文件调试可执行文件,VisualStudio代码将显示一条消息,说明找不到代码文件。例如,调试会话发生在不同于编译二进制文件的计算机上。现在可以使用“sourceFileMap”选项覆盖调试器返回的路径,并将其替换为指定的目录。 假设编译后目录“bar”被移动,这意味着当我们进入“triangle.getshapetype()”函数时,将找不到映射源文件“shape.cpp”。现在可以通过在launch.json文件中使用“sourceFileMap”选项来解决此问题,如下所示: 我们目前要求键和值都是完整路径,而不是相对路径。您可以使用任意多的键/值对。它们从头到尾进行分析,找到的第一个匹配项将使用替换值。在输入映射时,最好从最具体到最不具体开始。也可以指定文件的完整路径来更改映射。 如果您已经使用C/C++扩展,可以使用扩展标签轻松更新扩展。这将显示当前安装的扩展的所有可用更新。要安装更新,只需单击扩展窗口中的更新按钮。 请参阅 文档链接的原始博客文章 有关VisualStudio代码C/C++的整体经验的更多信息。请帮助我们继续在我们的网站上提交问题 Github页面 继续尝试这一经验,如果你想塑造这个扩展的未来,请加入我们的团队 跨平台C++内部人组 ,您可以直接与我们联系,帮助我们使本产品最符合您的需求。 能够在调试期间映射源文件
#include "stdafx.h"#include "..arshape.h"int main(){ shape triangle; triangle.getshapetype(); return 0;}
立即更新您的分机!