[Lldb-commits] [PATCH] D61687: Update Python tests for lldb-server on Windows
Hui Huang via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Wed May 15 20:25:22 PDT 2019
Hui added inline comments.
================
Comment at: packages/Python/lldbsuite/test/tools/lldb-server/TestGdbRemoteThreadsInStopReply.py:208-212
+ # In current implementation of llgs on Windows, as a response to '\x03' packet, the debugger
+ # of the native process will trigger a call to DebugBreakProcess that will create a new thread
+ # to handle the exception debug event. So one more stop thread will be notified to the
+ # delegate, e.g. llgs. So tests below to assert the stop threads number will all fail.
+ @expectedFailureAll(oslist=["windows"])
----------------
labath wrote:
> labath wrote:
> > Is this something that we consider to be a bug, or is it just how debugging is supposed to work on windows? If it's a bug then fine, but if not then we might consider adjusting the expectations in the test (or just skipping it).
> You marked this as done, but it's not obvious how is this comment resolved (or indeed, if it needs to be resolved). Can you elaborate?
DebugBreakProcess is supposed to spawn a new thread in the debugged process and then the thread exits after the irq is handled.
See below thread #1 is main thread of the debugged process and thread #2 is the newly spawned.
json string contains two stopped threads information.
looks like the stopped threads number is supposed to +1, but in order to be consistent with Visual Studio,
it shall be possible to only report the thread #1 stop info.
To modify the python script for Windows is at some cost. Maybe just skip them?
```
(lldb) process interrupt
GDBRemoteClientBase::Lock::Lock sent packet: \x03
...
< 16> send packet: $jThreadsInfo#c1
< 354> read packet: $[{"name":"main.exe","reason":"trace","registers":{"16":"dc6b5a9af77f0000","6":"0000000000000000","7":"80fa1e8aca000000"}],"tid":23108}],{"description":"Exception 0x80000003 encountered at address 0x7ffa1701e370","name":"main.exe","reason":"exception","registers":{"16":"71e30117fa7f0000","6":"0000000000000000","7":"28fa4f8aca000000"}],"tid":23716}]]#f0
Process 27544 stopped
* thread #1, name = 'main.exe', stop reason = trace
frame #0: 0x00007ff79a5a6bdc main.exe`main at main.cpp:7
4 {
5
6 printf("abc");
-> 7 while(1);
8 return 1;
9 }
thread #2, name = 'main.exe', stop reason = Exception 0x80000003 encountered at address 0x7ffa1701e370
frame #0: 0x00007ffa1701e371
-> 0x7ffa1701e371: retq
0x7ffa1701e372: int3
0x7ffa1701e373: int3
0x7ffa1701e374: int3
```
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D61687/new/
https://reviews.llvm.org/D61687
More information about the lldb-commits
mailing list