1*ea675a43SMark Johnston# 2*ea675a43SMark Johnston# Copyright (c) 2025 Mark Johnston <markj@FreeBSD.org> 3*ea675a43SMark Johnston# 4*ea675a43SMark Johnston# SPDX-License-Identifier: BSD-2-Clause 5*ea675a43SMark Johnston# 6*ea675a43SMark Johnston 7*ea675a43SMark Johnstonimport gdb 8*ea675a43SMark Johnston 9*ea675a43SMark Johnstoncmds = ["acttrace", 10*ea675a43SMark Johnston "p $V(\"tcbinfo\")", 11*ea675a43SMark Johnston "p $V(\"tcbinfo\", vnet0)", 12*ea675a43SMark Johnston "p $V(\"pf_status\")", 13*ea675a43SMark Johnston "p $V(\"pf_status\", \"gdbselftest\")", 14*ea675a43SMark Johnston "p $PCPU(\"curthread\")", 15*ea675a43SMark Johnston "p $PCPU(\"curthread\", 0)", 16*ea675a43SMark Johnston "p/x $PCPU(\"hardclocktime\", 1)", 17*ea675a43SMark Johnston "p $PCPU(\"pqbatch\")[0][0]", 18*ea675a43SMark Johnston "p $PCPU(\"ss\", 1)", 19*ea675a43SMark Johnston ] 20*ea675a43SMark Johnston 21*ea675a43SMark Johnstonfor cmd in cmds: 22*ea675a43SMark Johnston try: 23*ea675a43SMark Johnston print(f"Running command: '{cmd}'") 24*ea675a43SMark Johnston gdb.execute(cmd) 25*ea675a43SMark Johnston except gdb.error as e: 26*ea675a43SMark Johnston print(f"Command '{cmd}' failed: {e}") 27*ea675a43SMark Johnston break 28*ea675a43SMark Johnston 29*ea675a43SMark Johnston# We didn't hit any unexpected errors. This isn't as good as actually 30*ea675a43SMark Johnston# verifying the output, but it's better than nothing. 31*ea675a43SMark Johnstonprint("Everything seems OK") 32