22

Is there any way to watch a variable in Xcode using LLDB ? Or is this only possible with GDB ? I'm trying to use the command watchpoint set variable but I get the message:

invalid command 'watchpoint set'

the Reverend
  • 12,305
  • 10
  • 66
  • 121

2 Answers2

30

Watchpoints are supported for iOS and Mac OS X debugging as of Xcode 4.5. To set a breakpoint on a variable named foo, do

(lldb) watchpoint set variable foo

you can always use the shortest unambiguous name for commands in the lldb console so

(lldb) w s v foo

would also work here.

In Xcode, in the locals window you can right-click/control-click on variables and you'll have an option to set a watchpoint on it.

The current arm and x86 cpus only support 4 watchpoints being active at the same time.

Jason Molenda
  • 14,835
  • 1
  • 59
  • 61
2

Try using

frame variable -w

instead. The 'watchpoint set' command is in lldb's development branch, and will likely make it in to a future version of Xcode.

For example:

frame variable -w write myvar

EDIT: The watch set variable syntax mentioned in the original post is now supported in lldb in XCode 4.4 and greater.

leecbaker
  • 3,611
  • 2
  • 35
  • 51
  • A reverence which includes the `watch set var -w write global_var` format: http://lldb.llvm.org/lldb-gdb.html – bshirley Oct 01 '12 at 23:32