[lldb-dev] [Bug 32343] New: [Windows] Incorrect step-over behavior in 64-bit LLDB
via lldb-dev
lldb-dev at lists.llvm.org
Sat Mar 18 22:38:33 PDT 2017
https://bugs.llvm.org/show_bug.cgi?id=32343
Bug ID: 32343
Summary: [Windows] Incorrect step-over behavior in 64-bit LLDB
Product: lldb
Version: unspecified
Hardware: PC
OS: Windows NT
Status: NEW
Severity: normal
Priority: P
Component: All Bugs
Assignee: lldb-dev at lists.llvm.org
Reporter: vadimcn at gmail.com
CC: llvm-bugs at lists.llvm.org
Created attachment 18129
--> https://bugs.llvm.org/attachment.cgi?id=18129&action=edit
lldb log
Repro:
- Install 64-bit LLVM for Windows from http://llvm.org/builds (r295586 as of
this report).
- Compile the following simple program.
- Try line-stepping through it.
Result:
See the debug session below. I don't think this is a correct behavior.
Notes:
- 32-bit LLDB of the same release appears to work correctly (when debugging a
32-bit binary).
- Same problem observed if the program is compiled with mingw-w64 gcc (version
6.1.0 (x86_64-win32-seh, Built by MinGW-W64 project))
Debug session:
C:\temp>type hello.cpp
int main() {
char a[1024] = {0};
int b[1024] = {0};
}
C:\temp>clang++ -g -O0 hello.cpp -o hello --target=x86_64-pc-windows-gnu
C:\temp>lldb hello.exe
(lldb) target create "hello.exe"
Current executable set to 'hello.exe' (x86_64).
(lldb) break set -f hello.cpp -l 2
Breakpoint 1: where = hello.exe`main + 27 at hello.cpp:2, address =
0x00000000004015cb
(lldb) run
Process 4016 launching
(lldb) Process 4016 launched: 'C:\temp\hello.exe' (x86_64)
Process 4016 stopped
* thread #1, stop reason = breakpoint 1.1
frame #0: 0x00000000004015cb hello.exe`main at hello.cpp:2
1 int main() {
-> 2 char a[1024] = {0};
3 int b[1024] = {0};
4 }
(lldb) log enable -f lldb.log lldb step
(lldb) next
Process 4016 stopped
* thread #1, stop reason = step over
frame #0: 0x00000000004015e2 hello.exe`main at hello.cpp:2
1 int main() {
-> 2 char a[1024] = {0};
3 int b[1024] = {0};
4 }
(lldb) next
Process 4016 stopped
* thread #1, stop reason = step over
frame #0: 0x0000000000402b90 hello.exe`memset
hello.exe`memset:
-> 0x402b90 <+0>: jmpq *0x57f6(%rip) ; .idata$5
0x402b96 <+6>: nop
0x402b97 <+7>: nop
hello.exe`memcpy:
0x402b98 <+0>: jmpq *0x57e6(%rip) ; .idata$5
(lldb) log disable all
(lldb) image dump line-table hello.cpp
Line table for C:\temp\hello.cpp in `hello.exe
0x00000000004015b0: C:\temp\hello.cpp:1
0x00000000004015c6: C:\temp\hello.cpp:1
0x00000000004015cb: C:\temp\hello.cpp:2
0x00000000004015e7: C:\temp\hello.cpp:3
0x0000000000401600: C:\temp\hello.cpp:4
0x000000000040160e: C:\temp\hello.cpp:4
(lldb)
--
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/20170319/e9196996/attachment.html>
More information about the lldb-dev
mailing list