| //@ compile-flags:-g |
| //@ revisions: macos win |
| // We can't set the main thread name on Linux because it renames the process (#97191) |
| //@[macos] only-macos |
| //@[win] only-windows |
| //@ ignore-sgx |
| //@ ignore-windows-gnu: gdb on windows-gnu does not print thread names |
| |
| // === GDB TESTS ================================================================================== |
| // |
| // gdb-command:run |
| // |
| // gdb-command:info threads |
| // gdb-check: 1 Thread [...] [...] "main" [...] |
| // gdb-check:* 2 Thread [...] [...] "my new thread" [...] |
| |
| // === LLDB TESTS ================================================================================= |
| // |
| // lldb-command:run |
| // |
| // lldb-command:thread info 1 |
| // lldb-check:thread #1:[...]name = 'main'[...] |
| // lldb-command:thread info 2 |
| // lldb-check:thread #2:[...]name = 'my new thread'[...] |
| |
| // === CDB TESTS ================================================================================== |
| // |
| // cdb-command:g |
| // |
| // cdb-command:~ |
| // cdb-check: 0 Id: [...] Suspend: 1 Teb: [...] Unfrozen "main" |
| // cdb-check:. [...] Id: [...] Suspend: 1 Teb: [...] Unfrozen "my new thread" |
| |
| use std::thread; |
| |
| fn main() { |
| let handle = thread::Builder::new().name("my new thread".into()).spawn(|| { |
| zzz(); // #break |
| }).unwrap(); |
| |
| handle.join().unwrap(); |
| } |
| |
| fn zzz() {} |