Tracking variable or memory change in Xcode?

前端 未结 4 943
半阙折子戏
半阙折子戏 2020-12-08 21:15

Is there any way to track variable changes or memory changes in Xcode? I\'m looking for functionality like Visual Studio\'s data breakpoint.

I want to know where my

相关标签:
4条回答
  • 2020-12-08 21:42

    I know this post is old but in case you are still wondering I posted a detailed answer here: In XCode 6 how can you set a watchpoint without stopping execution?

    0 讨论(0)
  • 2020-12-08 21:51

    Xcode uses gdb (or lldb, but that's another story) to implement its debugging functionality. gdb has the ability to set hardware watchpoints and hence so does Xcode.

    This is a useful page for generic debugging of memory errors. Xcode's debugging console window is really just a gdb shell, you can type in commands as you please. The ever-helpful Quinn Taylor explains how to do so in this related post.

    If you'd rather avoid interacting with gdb directly, you can right-click a variable in Xcode's debugging window and select "Watch Variable". Xcode will then alert you whenever your variable's value has been changed.

    0 讨论(0)
  • 2020-12-08 21:57

    You can use hardware watchpoints.


    You have to get the address of the variable you want to track (type p &my_var in gdb prompt).

    It will print somehting like 0x12345678.

    • With gdb: type watch *(int *)0x12345678.

    • With lldb: watch set expression (int *)0x12345678 (or w s e (int *)0x12345678)

    This assumes your variable is an int. It will create an hardware watchpoint on this address.


    Hope this helps.

    0 讨论(0)
  • 2020-12-08 21:59

    Yes.

    Under the Run menu there is "Debugger" which provides a visual frontend to gdb.

    Also, there is a breakpoint button next to the Build and Run button. You can click that and manage your breakpoints under Run > Manage Breakpoints.

    0 讨论(0)
提交回复
热议问题