c++ - Visual Studio 断点宏修改一个值?

标签 c++ visual-studio visual-studio-2008 debugging macros

我正在调试一个应用程序 (C++),我在代码中发现了一个我想更改值的点(通过调试器)。所以现在,我设置了一个断点,于是我做了:

  • 调试器到达断点
  • 我修改我想改变的变量
  • 我按 F5 键继续运行
  • 起泡、冲洗、重复

它经常遇到这个断点,所以我想自动化它。我想设置断点来运行一个宏,然后继续执行。

但是,我没有编写 VisualStudio 宏的经验,所以我不知道修改正在执行程序的变量的命令。我环顾四周,但到目前为止还没有在网上找到任何有用的信息。

最佳答案

我找到了如何使用宏来执行此操作。最初,我尝试使用 Ctrl-Shift-R 来记录击键宏,但是当我使用 Ctrl-Alt-Q 时它停止了记录。但我能够编辑宏以使其工作。所以这就是我所做的,以防其他人想做类似的事情。

  • 工具 -> 宏 -> 宏浏览器
  • 右键单击 -> 新建宏

    Public Module RecordingModule
        Sub setvalue()
            DTE.Debugger.ExecuteStatement("variable_name=0")
        End Sub
    End Module
    

这个宏将执行赋值语句,设置我的变量(在本例中,使其成为 NULL 指针)。

  • 右键单击断点 -> 命中时...
  • 选中“运行宏”
  • 选择Macros.MyMacros.RecordingModule.setvalue
  • 勾选“继续执行”
  • 点击确定

然后,我就可以运行我的程序了,在运行过程中自动将指针调整为 NULL。这对于测试非常有用,并且不需要重新编译。

关于c++ - Visual Studio 断点宏修改一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3868810/

相关文章:

c++ - 重载括号运算符

c++ - 在 Visual Studio 4.0 中使用标准模板库

c# - 是否可以在 aspx 网页本身中跟踪/观察 session 的值?

visual-studio-2008 - 在项目级别禁用 C++ 警告?

c# - 调试 C# WinForm 应用程序

C++ clock() 与递归函数表现得很奇怪

c++ - 三元运算符

c++ - 这段 C++ 代码的奇怪行为(std::wcout 和 std::exception)

c# - Visual Studio/C# 自动格式化。我可以控制属性后的换行符吗

c# - 数组列表到表