mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 12:07:45 +00:00
strace: Add support for pretty-printing the kill syscall
This commit is contained in:
parent
c55b4d49a3
commit
beca73e0fd
1 changed files with 13 additions and 0 deletions
|
@ -701,6 +701,16 @@ static void format_dbgputstr(FormattedSyscallBuilder& builder, char* characters,
|
||||||
builder.add_argument(StringArgument { { characters, size }, "\0\n"sv });
|
builder.add_argument(StringArgument { { characters, size }, "\0\n"sv });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void format_kill(FormattedSyscallBuilder& builder, pid_t pid_or_pgid, int signal)
|
||||||
|
{
|
||||||
|
builder.add_argument(pid_or_pgid);
|
||||||
|
auto* signal_name = getsignalname(signal);
|
||||||
|
if (signal_name)
|
||||||
|
builder.add_argument(signal_name);
|
||||||
|
else
|
||||||
|
builder.add_argument(signal);
|
||||||
|
}
|
||||||
|
|
||||||
static ErrorOr<void> format_syscall(FormattedSyscallBuilder& builder, Syscall::Function syscall_function, syscall_arg_t arg1, syscall_arg_t arg2, syscall_arg_t arg3, syscall_arg_t res)
|
static ErrorOr<void> format_syscall(FormattedSyscallBuilder& builder, Syscall::Function syscall_function, syscall_arg_t arg1, syscall_arg_t arg2, syscall_arg_t arg3, syscall_arg_t res)
|
||||||
{
|
{
|
||||||
enum ResultType {
|
enum ResultType {
|
||||||
|
@ -788,6 +798,9 @@ static ErrorOr<void> format_syscall(FormattedSyscallBuilder& builder, Syscall::F
|
||||||
format_write(builder, (int)arg1, (void*)arg2, (size_t)arg3);
|
format_write(builder, (int)arg1, (void*)arg2, (size_t)arg3);
|
||||||
result_type = Ssize;
|
result_type = Ssize;
|
||||||
break;
|
break;
|
||||||
|
case SC_kill:
|
||||||
|
format_kill(builder, (pid_t)arg1, (int)arg2);
|
||||||
|
break;
|
||||||
case SC_getuid:
|
case SC_getuid:
|
||||||
case SC_geteuid:
|
case SC_geteuid:
|
||||||
case SC_getgid:
|
case SC_getgid:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue