================
@@ -175,3 +179,30 @@ Status TargetThreadWindows::DoResume() {
return Status();
}
+
+const char *TargetThreadWindows::GetName() {
+ Log *log = GetLog(LLDBLog::Thread);
+ HMODULE hModule = ::LoadLibraryW(L"Kernel32.dll");
+ if (hModule) {
+ auto GetThreadDescription =
+ reinterpret_cast<GetThreadDescriptionFunctionPtr>(
+ ::GetProcAddress(hModule, "GetThreadDescription"));
----------------
compnerd wrote:
If there is compatibility that we are concerned about, I think that we should
consider falling back to more ... esoteric solutions.
```c++
__try {
RaiseException(MS_VC_EXCEPTION, 0, sizeof(info) / sizeof(ULONG_PTR),
(ULONG_PTR*)&info);
} __except (EXCEPTION_EXECUTE_HANDLER) {
}
```
Should be far more portable and is what VS also uses. This is documented at
https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2015/debugger/how-to-set-a-thread-name-in-native-code?view=vs-2015&redirectedfrom=MSDN.
I would be okay with also raising the requirements to a newer version of
Windows as 1607 is RS1 which makes it more than 8 years old at this point.
https://github.com/llvm/llvm-project/pull/74731
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits