[lldb-dev] [Bug 30863] New: "Step" doesn't stop with conditional breakpoint on the next line
via lldb-dev
lldb-dev at lists.llvm.org
Tue Nov 1 12:42:53 PDT 2016
https://llvm.org/bugs/show_bug.cgi?id=30863
Bug ID: 30863
Summary: "Step" doesn't stop with conditional breakpoint on the
next line
Product: lldb
Version: 3.9
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P
Component: All Bugs
Assignee: lldb-dev at lists.llvm.org
Reporter: eldar.abusalimov at jetbrains.com
CC: llvm-bugs at lists.llvm.org
Classification: Unclassified
Extracted from https://youtrack.jetbrains.com/issue/CPP-7986 Conditional Break
Point
To see the issue, set a Conditional Break at each of the comments tagged `CB`
with the expressions to the right of the colon.
Note that the second CB is not going to be hit naturally since `i` never
changes to 2, this is correct. When the first breakpoint is hit, use `step` to
attempt to move to the next line. It should maintain the debug mode and wait
for more instructions on the next line, but instead it checks the CB and
notices that it is not true and continues until the break point on the return
statement.
```
#include <stdio.h>
int main() {
int i = 1;
printf("i: %d", i); // CB: i == 1 // true
printf("i: %d", i); // CB: i == 2 // false
return 0;
}
```
Debug session:
```
$ lldb hello
(lldb) target create "hello"
Current executable set to 'hello' (x86_64).
(lldb) br s -f main.c -l 6 -c 'i == 1'
Breakpoint 1: where = hello`main + 15 at main.c:6, address = 0x0000000000400535
(lldb) br s -f main.c -l 7 -c 'i == 2'
Breakpoint 2: where = hello`main + 35 at main.c:7, address = 0x0000000000400549
(lldb) r
Process 9877 launched: '/home/mint/ClionProjects/hello/cmake-build-debug/hello'
(x86_64)
Process 9877 stopped
* thread #1: tid = 9877, 0x0000000000400535 hello`main + 15 at main.c:6, name =
'hello', stop reason = breakpoint 1.1
frame #0: 0x0000000000400535 hello`main + 15 at main.c:6
3 int main() {
4 int i = 1;
5
-> 6 printf("i: %d", i);
7 printf("i: %d", i);
8
9 return 0;
(lldb) s
Process 9877 exited with status = 0 (0x00000000)
(lldb)
```
Everything works fine in case the condition of the second breakpoint evaluates
to `true`.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20161101/eeb11ea1/attachment.html>
More information about the lldb-dev
mailing list