I'm using LLDB as a standalone debugger, and I was wondering if there is a way to send signals in LLDB, same way you can do it in GDB (i.e signal SIGINT)
Look at the process signal
and process handle
commands. e.g. with a program like
#include <signal.h>
#include <stdio.h>
#include <unistd.h>
void handler (int in)
{
puts ("signal handled");
}
int main()
{
signal (SIGUSR1, handler);
while (1)
sleep (1);
}
if I attach to this with an lldb in another window (so I can type commands to lldb while the process is running -- if I run this program under lldb, the input/output when the program is running will go to the program, not lldb), I can tell lldb to not stop process execution when I send a SIGUSR1
signal (its default is to stop execution so you need to continue
it again) and I can send the signal. e.g.
(lldb) pro handle -s false SIGUSR1
NAME PASS STOP NOTIFY
========== ===== ===== ======
SIGUSR1 true false true
(lldb) pro signal SIGUSR1
Process 6628 stopped and restarted: thread 1 received signal: SIGUSR1
and I'll see signal handled
output in the other window, showing that my signal handler was called.
Try process signal <signal>
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With