forked from OSchip/llvm-project
[Sanitizer Common] Show command used to launch symbolizer process at high verbosity level.
Summary: In preparation for writing a test for a bug fix we need to be able to see the command used to launch the symbolizer process. This feature will likely be useful for debugging how the Sanitizers use the symbolizer in general. This patch causes the command line used to launch the process to be shown at verbosity level 3 and higher. A small test case is included. Reviewers: kubamracek, yln, vitalybuka, eugenis, kcc Subscribers: #sanitizers, llvm-commits Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D77622
This commit is contained in:
parent
bb0e6cc1dd
commit
2169568d9f
|
@ -151,6 +151,16 @@ bool SymbolizerProcess::StartSymbolizerSubprocess() {
|
|||
GetArgV(path_, argv);
|
||||
pid_t pid;
|
||||
|
||||
// Report how symbolizer is being launched for debugging purposes.
|
||||
if (Verbosity() >= 3) {
|
||||
// Only use `Report` for first line so subsequent prints don't get prefixed
|
||||
// with current PID.
|
||||
Report("Launching Symbolizer process: ");
|
||||
for (unsigned index = 0; index < kArgVMax && argv[index]; ++index)
|
||||
Printf("%s ", argv[index]);
|
||||
Printf("\n");
|
||||
}
|
||||
|
||||
if (use_posix_spawn_) {
|
||||
#if SANITIZER_MAC
|
||||
fd_t fd = internal_spawn(argv, const_cast<const char **>(GetEnvP()), &pid);
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
// RUN: %clangxx %s -g -o %t
|
||||
// RUN: %env_tool_opts=verbosity=3 %run %t 2>&1 | FileCheck %s
|
||||
#include <sanitizer/common_interface_defs.h>
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
// CHECK: Launching Symbolizer process: {{.+}}
|
||||
__sanitizer_print_stack_trace();
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue