Search code examples
linuxsignalslldb

process handle in lldbinit


I'd like to have the following command init my .lldbinit.

process handle SIGPROF -n false -p true -s false

The problem is that lldb won't run this command when it starts up and doesn't yet have a process.

error: Aborting reading of commands after command #1: ' process handle SIGPROF -n false -p true -s false' failed with error: No current target; cannot handle signals until you have a valid target and process.

How can I tell lldb to apply this command whenever it does have a process?


Solution

  • One workaround for this is to take the set of commands you want to run in lldb after the file you are debugging is loaded, put them in a file, and run:

    $ lldb -s <command file> <FileToBeDebugged>
    

    Then if you like this and use it often, you can make a shell alias of part up to .

    If you are using Xcode, a common trick is to set a breakpoint at main in your project, put the commands you want to run there, and then make it "auto-continue".