用 VS 调试 C++。追踪变量变化

Posted

技术标签:

【中文标题】用 VS 调试 C++。追踪变量变化【英文标题】:Dubbuging C++ with VS. Track down varrible change 【发布时间】:2019-05-30 09:10:47 【问题描述】:

我有一个包含全局变量的大型程序(VS 项目)。它从数百个地方修改。实际上它是标准的 STL 容器(std::vector),问题是我如何追踪这个特定的变量修改? 在我的工作中,我使用 VS 调试器(Prof 2017 15.9.5)

【问题讨论】:

【参考方案1】:

我想到了一些解决方案:

    创建另一个封装这个向量的类。 然后允许用户通过添加 getter 返回来使用这个向量 参考它。 然后就可以在getter中下断点了。

    vector 的成员之一上设置内存断点,但它是特定于植物的解决方案,可能不适用于所有场景。

    std::vector 替换为您的自定义类型,其接口与std::vector 相同,这将在其内部使用原始std::vector。 使用此解决方案,您可以更精确地监控访问。

附:尽快删除这个全局。

【讨论】:

谢谢,米哈乌。我已经考虑过包装器,它可能。我也尝试使用内存断点,但由于某些原因 VS Debug->New Breakpoint-> Data Breakpoint 在我的项目中被禁用

以上是关于用 VS 调试 C++。追踪变量变化的主要内容,如果未能解决你的问题,请参考以下文章

求教C++下怎样监视每个变量的数值变化,要求详细

Go 调试工具:gdb vs dlv

Go 调试工具:gdb vs dlv

日志调试不理想?试试分布式追踪优势

SceneView 追踪选择目标

Git忽略已追踪文件或文件夹