/ / Guardando la variabile i in un ciclo for con lldb - c ++, lldb

Guardando la variabile i in un ciclo for con lldb - c ++, lldb

Essendo appena passato a lldb, sto cercando di fare l'equivalente di gdb "s watch i essendo io sono all'interno di un ciclo for nel mio codice.

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

Come puoi vedere sopra, int i è già stato dichiarato.

Controllando quali watchpoint ho dei rendimenti

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

Ora provando a impostare un punto di controllo su i (secondo il Riferimento lldb) Ottengo

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

Non capisco perché questo sia, essendo illa variabile è stata dichiarata. Googling l'errore non ha aiutato molto come la maggior parte dei problemi sembrano essere in relazione con il raggiungimento del numero massimo di watchpoint, che non è il mio caso come si può vedere sopra. Qualsiasi aiuto sarebbe molto apprezzato!

risposte:

0 per risposta № 1

Ho cambiato il modo in cui stavo compilando il programma clang++ -Wall -g -o max_pairwise max_pairwise.cpp e ha iniziato a mostrarmi le informazioni giuste, incluso il monitoraggio del valore di i