0
ちょうどlldbに切り替えたので、gdbのwatch i
と同等の処理をしようとしています。lldbでforループ内の変数iを見る
(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
は既に宣言されています。私は
(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)
を取得(lldb referenceによる)は、iにウォッチポイントを設定する利回りしようとしているウォッチポイント
チェック変数が宣言されています。ほとんどの問題がウォッチポイントの最大数にぶつかることに関連しているように見えるので、エラーのグーグルはあまり役に立たなかった。これは私の場合ではない。どんな助けでも大歓迎です!
の値を追跡含めて、私は私が
clang++ -Wall -g -o max_pairwise max_pairwise.cpp
にプログラムをコンパイルした方法を変更し、それは私に適切な情報を示し始め現在参照されている変数が現在の場所で使用できない場合再構築されたコマンドラインの例には最適化がありません。最初の例でそれを持っていたと思います。または、あなたは2つのラン間のプログラムの別のポイントで停止しました。あなたは間違いなくこの問題の代わりに問題が何であったかについてのエラーメッセージを受け取ったはずですが、ウォッチポイントはlldbではやや粗いです。 –