数据断点

来源:互联网 发布:什么是移动数据流量 编辑:程序博客网 时间:2024/06/05 06:02

In some debuggers this is called "setting a trap" on a variable. What I want to do is trigger a breakpoint on any statement that changes the object. Or changes a property of the object.

I have an NSMutableDictionary that gets a value/key added to it but I can't find any statement that could be doing that.


You can set a watchpoint (from here):

Set a watchpoint on a variable when it is written to.(lldb) watchpoint set variable -w write global_var(lldb) watch set var -w write global_var(gdb) watch global_varSet a watchpoint on a memory location when it is written into. The size of the region to watch for defaults to the pointer size if no '-x byte_size' is specified. This command takes raw input, evaluated as an expression returning an unsigned integer pointing to the start of the region, after the '--' option terminator.(lldb) watchpoint set expression -w write -- my_ptr(lldb) watch set exp -w write -- my_ptr(gdb) watch -location g_char_ptrSet a condition on a watchpoint.(lldb) watch set var -w write global(lldb) watchpoint modify -c '(global==5)'(lldb) c...(lldb) bt* thread #1: tid = 0x1c03, 0x0000000100000ef5 a.out`modify + 21 at main.cpp:16, stop reason = watchpoint 1frame #0: 0x0000000100000ef5 a.out`modify + 21 at main.cpp:16frame #1: 0x0000000100000eac a.out`main + 108 at main.cpp:25frame #2: 0x00007fff8ac9c7e1 libdyld.dylib`start + 1(lldb) frame var global(int32_t) global = 5List all watchpoints.(lldb) watchpoint list(lldb) watch l(gdb) info breakDelete a watchpoint.(lldb) watchpoint delete 1(lldb) watch del 1(gdb) delete 1

0 0
原创粉丝点击