Visual Studio Breakpoint Macro to modify a value?

后端 未结 5 1194
一个人的身影
一个人的身影 2021-01-05 12:25

I\'m debugging an application (C++), and I\'ve found a point in the code where I want to change a value (via the debugger). So right now, I\'ve got a breakpoint set, whereu

5条回答
  •  独厮守ぢ
    2021-01-05 13:09

    I found how to do this with a macro. Initially, I tried using Ctrl-Shift-R to record a macro of keystrokes, but it stopped recording when I did Ctrl-Alt-Q. But I was able to edit the macro to get it to work. So here's what I did, in case anyone else wants to do something similar.

    • Tools -> Macros -> Macro Explorer
    • Right Click -> New macro

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

    This macro will execute the assignment statement, setting my variable (in this case, making it a NULL pointer).

    • Right Click on a BreakPoint -> When Hit...
    • Check "Run a macro"
    • Select Macros.MyMacros.RecordingModule.setvalue
    • Check "Continue execution"
    • Click OK

    Then, I was able to run my program, automatically adjusting a pointer to NULL as it went. This was very useful for testing, and did not require recompiling.

提交回复
热议问题