用lldb在for循环中观察变量i

时间:2017-02-22 11:31:57

标签: c++ lldb

刚刚切换到lldb,我正在尝试相当于gdb的(lldb) f frame #0: 0x0000000100000664 a.out`MaxPairwiseProduct(numbers=size=5) + 4 at max_pairwise_product.cpp:19 [opt] 16 // Find max value in vector 17 18 for (int i=1; i<numbers.size(); i++) { -> 19 if (numbers[i] > numbers[i-1]) { 20 second_max = max; 21 max = numbers[i]; 22 if (numbers[i] < max && numbers[i] > second_max) (lldb) ,因为我在我的代码中的for循环中。

int i

如您所见,(lldb) watchpoint list -b Number of supported hardware watchpoints: 4 No watchpoints currently set. (lldb) 已被宣布。

检查我有哪些观察点

(lldb) wa s v i
error: Watchpoint creation failed (addr=0xffffffffffffffff, size=0, variable expression='i').
error: cannot set a watchpoint with watch_size of 0
(lldb) 

现在尝试将观察点设置为i(根据lldb reference)我得到了

{{1}}

我不明白为什么会这样,因为变量已被声明。谷歌搜索错误没有多大帮助,因为大多数问题似乎与达到观察点的最大数量有关,这不是我的情况,如上所示。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

我改变了将程序编译为clang++ -Wall -g -o max_pairwise max_pairwise.cpp的方式,并开始向我显示正确的信息,包括跟踪i

的值