[Lldb-commits] [lldb] Ptrace seize dead process (PR #137041)
Jacob Lalonde via lldb-commits
lldb-commits at lists.llvm.org
Thu Apr 24 08:59:45 PDT 2025
Jlalond wrote:
> I think the tricky part is that (in both cases) the user might legitimately want to let the process exit, and "continue" is the normal way to do that, so I don't think we'd want to just error out of the continue command (or from the vCont packet). I think what we'd want is to make sure that the process doesn't accidentally exit while running an expression (possibly from within a data formatter), and for that I guess we'd need to let lldb know that running expressions is "dangerous". We already have Thread::SafeToCallFunctions, even though it's used for a slightly different purpose, but maybe it could be extended to handle this as well?
I think disallowing any non explicit continues/disconnect is a good user experience as long as we display an appropriate message. The workflow I imagine is when halted in this state any explicit `continue` or `disconnect` should just kill the process, but something like `p MyVar.Size()` should not.
> We already have one piece of "status" parsing code in source/Host/linux/Host.cpp. I think it'd be better to reuse that one. I'm slightly torn as to whether reuse Host::GetProcessInfo for this (and add a new field to ProcessInstanceInfo -- or possibly expand on IsZombie), or whether to create a new linux-specific entry point which will return this data.
Will refactor, I looked for something for status and it seems I missed something
https://github.com/llvm/llvm-project/pull/137041
More information about the lldb-commits
mailing list