PyStack works on both running processes and it's one of the really unique aspects is on the core dump files. So you can very easily get yourself in a situation where you thought you were doing something read only and manage to crash the process that you were trying to inspect. The other tool allows you to attach to a process, right? To you have process that is happily running and then you say, now I want to profile this process that is already running. And we don't do any of that. Even in cases where you're able to successfully call a function with GDB, it manages to get it stuff injected and do everything that it needs to do to set up the call.