/ / Regarder la variable i dans une boucle for avec lldb - c ++, lldb

Regarder la variable i dans une boucle for avec lldb - c ++, lldb

Venant juste de passer à lldb, j’essaie de faire l’équivalent de gdb watch i étant "je suis dans une boucle for de mon code.

(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)

Comme vous pouvez le voir ci-dessus, int i a déjà été déclaré.

Vérifier quels points de surveillance j'ai des rendements

(lldb) watchpoint list -b
Number of supported hardware watchpoints: 4
No watchpoints currently set.
(lldb)

Maintenant, essayez de définir un point de surveillance sur i (selon le référence lldb) Je reçois

(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)

Je ne comprends pas pourquoi, étant levariable a été déclarée. Googler l’erreur n’a pas beaucoup aidé, car la plupart des problèmes semblent liés au nombre maximum de points de surveillance, ce qui n’est pas mon cas, comme on peut le voir ci-dessus. Toute aide serait très appréciée!

Réponses:

0 pour la réponse № 1

J'ai changé la façon dont je compilais le programme clang++ -Wall -g -o max_pairwise max_pairwise.cpp et il a commencé à me montrer la bonne information, y compris le suivi de la valeur de i