When modifying the condition of an existing breakpoint or watchpoint, the change takes effect, but the resulting =breakpoint-modified event does not include the modified condition. Instead, the preceding condition (if any) is included:
-break-condition 2 n > 4
^done
=breakpoint-modified,bkpt={number="2",type="watchpoint",disp="keep",enabled="y",times="3",what="n"}
Expected event with cond field:
=breakpoint-modified,bkpt={number="2",type="watchpoint",disp="keep",enabled="y",times="3",cond="n > 4",what="n"}
If a condition is specified when a breakpoint is being created, the resulting =breakpoint-modified event is as expected (file paths omitted for clarity):
-break-insert -c "n > 8" hello.c:19
^done,bkpt={number="5",type="breakpoint",disp="keep",enabled="y",pending=["hello.c:19"],times="0",cond="n > 8",addr="0x00007ff619821489",func="main",file="hello.c",fullname="hello.c",line="19",original-location="hello.c:19"}
=breakpoint-modified,bkpt={number="5",type="breakpoint",disp="keep",enabled="y",pending=["hello.c:19"],times="0",cond="n > 8",addr="0x00007ff619821489",func="main",file="hello.c",fullname="hello.c",line="19",original-location="hello.c:19"}
It appears that the lldb::SBEvent raised by LLDB is not correct following a -break-condition command.