Find available debugger on the system. Returns: Tuple of (debugger_path, debugger_name) or (None, "none")
()
| 18 | |
| 19 | |
| 20 | def find_debugger() -> tuple[Optional[str], str]: |
| 21 | """ |
| 22 | Find available debugger on the system. |
| 23 | |
| 24 | Returns: |
| 25 | Tuple of (debugger_path, debugger_name) or (None, "none") |
| 26 | """ |
| 27 | # Try clang-tool-chain-lldb first (preferred, supports --batch/--attach-pid) |
| 28 | lldb = shutil.which("clang-tool-chain-lldb") |
| 29 | if lldb: |
| 30 | return (lldb, "lldb") |
| 31 | |
| 32 | # Try gdb as fallback |
| 33 | gdb = shutil.which("gdb") |
| 34 | if gdb: |
| 35 | return (gdb, "gdb") |
| 36 | |
| 37 | return (None, "none") |
| 38 | |
| 39 | |
| 40 | def dump_stack_trace_lldb(pid: int, test_name: str) -> Optional[str]: |
no outgoing calls
no test coverage detected