首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用lldb查看for循环中的变量i

使用lldb查看for循环中的变量i
EN

Stack Overflow用户
提问于 2017-02-22 19:31:57
回答 1查看 532关注 0票数 0

在刚刚切换到lldb之后,我正在尝试做相当于gdb的watch i的工作,因为我在代码中的for循环中。

代码语言:javascript
复制
(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) 

正如你在上面看到的,int i已经被声明了。

检查我有哪些观察点的结果

代码语言:javascript
复制
(lldb) watchpoint list -b
Number of supported hardware watchpoints: 4
No watchpoints currently set.
(lldb) 

现在尝试将一个观察点设置为I(根据lldb reference)。

代码语言:javascript
复制
(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) 

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

EN

回答 1

Stack Overflow用户

发布于 2017-02-22 21:00:22

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42390124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档