def parse_args(): parser = gdbrunner.ArgumentParser() group = parser.add_argument_group(title="attach target") group = group.add_mutually_exclusive_group(required=True) group.add_argument( "-p", dest="target_pid", metavar="PID", type=int, help="attach to a process with specified PID") group.add_argument( "-n", dest="target_name", metavar="NAME", help="attach to a process with specified name") group.add_argument( "-r", dest="run_cmd", metavar="CMD", nargs=argparse.REMAINDER, help="run a binary on the device, with args") parser.add_argument( "--port", nargs="?", default="5039", help="override the port used on the host [default: 5039]") parser.add_argument( "--user", nargs="?", default="root", help="user to run commands as on the device [default: root]") parser.add_argument( "--setup-forwarding", default=None, choices=["gdb", "vscode"], help=("Setup the gdbserver and port forwarding. Prints commands or " + ".vscode/launch.json configuration needed to connect the debugging " + "client to the server.")) parser.add_argument( "--env", nargs=1, action="append", metavar="VAR=VALUE", help="set environment variable when running a binary") return parser.parse_args()
def parse_args(): parser = gdbrunner.ArgumentParser() group = parser.add_argument_group(title="attach target") group = group.add_mutually_exclusive_group(required=True) group.add_argument("-p", dest="target_pid", metavar="PID", type=int, help="attach to a process with specified PID") group.add_argument("-n", dest="target_name", metavar="NAME", help="attach to a process with specified name") group.add_argument("-r", dest="run_cmd", metavar="CMD", nargs=argparse.REMAINDER, help="run a binary on the device, with args") parser.add_argument( "--port", nargs="?", default="5039", help="override the port used on the host [default: 5039]") parser.add_argument( "--user", nargs="?", default="root", help="user to run commands as on the device [default: root]") return parser.parse_args()
def parse_args(): parser = gdbrunner.ArgumentParser() group = parser.add_argument_group(title="attach target") group = group.add_mutually_exclusive_group(required=True) group.add_argument("-p", dest="target_pid", metavar="PID", type=int, help="attach to a process with specified PID") group.add_argument("-n", dest="target_name", metavar="NAME", help="attach to a process with specified name") group.add_argument("-r", dest="run_cmd", metavar="CMD", nargs=argparse.REMAINDER, help="run a binary on the device, with args") parser.add_argument( "--port", nargs="?", default="5039", help="override the port used on the host [default: 5039]") parser.add_argument( "--user", nargs="?", default="root", help="user to run commands as on the device [default: root]") parser.add_argument( "--setup-forwarding", default=None, choices=["gdb", "lldb", "vscode", "vscode-gdb", "vscode-lldb"], help= ("Setup the gdbserver/lldb-server and port forwarding. Prints commands or " + ".vscode/launch.json configuration needed to connect the debugging " + "client to the server. If 'gdb' and 'vscode-gdb' are only valid if " + "'--no-lldb' is passed. 'vscode' with llbd and 'vscode-lldb' both " + "require the 'vadimcn.vscode-lldb' extension. 'vscode' with '--no-lldb' " + "and 'vscode-gdb' require the 'ms-vscode.cpptools' extension.")) lldb_group = parser.add_mutually_exclusive_group() lldb_group.add_argument("--lldb", action="store_true", help="Use lldb.") lldb_group.add_argument("--no-lldb", action="store_true", help="Do not use lldb.") parser.add_argument("--env", nargs=1, action="append", metavar="VAR=VALUE", help="set environment variable when running a binary") return parser.parse_args()