[PATCH] D119009: [Support] Ensure handlers are set up before printing the stacktrace
Andy Yankovsky via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 7 08:55:08 PST 2022
werat added a comment.
In D119009#3297591 <https://reviews.llvm.org/D119009#3297591>, @aganea wrote:
> I'm not sure it's a good idea to start loading DLLs when we get to this point.
> I would rather suggest calling `sys::PrintStackTraceOnErrorSignal({});` in `SBDebugger::Initialize()`. "argv0" will be auto-detected if necessary, otherwise if you can, change the `SBDebugger::Initialize()` API to pass it? It's only there so that we can find `llvm-symbolizer` next to the running executable.
Thanks for a quick review! I followed your adviced and added a call to `PrintStackTraceOnErrorSignal()` in `Debugger::Initialize()`. It's possible to change the API to accept `argv` is possible, but it we can't introduce breaking changes, so the old code will not have `argv`.
Given that now PrintStackTraceOnErrorSignal will be called twice in LLDB driver (and in general case `Initialize()` can be called many times), I modified the implementation of `PrintStackTraceOnErrorSignal` a little bit -- don't do anything if `::Argv0` is already set.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D119009/new/
https://reviews.llvm.org/D119009
More information about the llvm-commits
mailing list