6 m_abi_constraint{getABIs()},
7 cmdline{
"Command line process tracer.\nTo use clues as a front-end pass the command line to execute after '--'",
' ',
"0.1"},
10 "attach to the given already running process for tracing.",
12 cosmos::to_integral(cosmos::ProcessID::INVALID),
16 "What to do upon execve() in a tracee: 'yes' (continue tracing; default), 'no' (detach from tracee), 'ask' (interactively ask what to do), 'path:<path>' (continue if new executable matches path), 'glob:<pattern>' (continue if new executable matches glob pattern).",
19 "configuration string"
22 "",
"follow-children",
23 "What to do upon new child processes appearing via [v]fork() or clone(): 'yes' (automatically attach), 'no' (ignore; default), 'ask' (interactively ask what to do), 'threads' (only follow threads of the same process).",
26 "configuration string"
30 "follow/attach all threads within the process. Do not follow fork(). synonym for '--follow-children threads'.",
34 follow_children_switch{
36 "synonym for '--follow-children yes'.",
38 no_initial_threads_attach{
39 "1",
"no-initial-threads-attach",
40 "when attaching to a running process, don't attach all of the process's threads, only the one specified via -p, even if --follow-children is set.",
44 "Print detailed information about file descriptors (e.g. type, path, etc.)",
48 "increase verbosity of tracing output",
52 "maximum length of parameter values to print. 0 to to print not at all, -1 to disable truncation.",
58 "list all known system calls names, then exit.",
61 "",
"list-abi-syscalls",
62 "list all system calls names and their numbers for the given system call ABI.",
69 "list the names of system call ABIs supported on this system.",
74 "configuration of system call filters. comma separated list of system call names, optionally prefixed with '!' to negate the meaning.",
77 "comma separated list of system call names"} {
79 cmdline.add(attach_proc);
80 cmdline.add(follow_execve);
81 cmdline.add(follow_children);
82 cmdline.add(follow_threads);
83 cmdline.add(follow_children_switch);
84 cmdline.add(no_initial_threads_attach);
85 cmdline.add(print_fd_info);
87 cmdline.add(max_value_len);
88 cmdline.add(list_syscalls);
89 cmdline.add(list_abi_syscalls);
90 cmdline.add(list_abis);
91 cmdline.add(syscall_filter);
94std::vector<std::string> Args::getABIs() {
95 return std::vector<std::string>{
96 "i386",
"x86-64",
"x32",
"aarch64"