stack_trace.h 709 B

12345678910111213141516171819202122
  1. // Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
  2. // This source code is licensed under both the GPLv2 (found in the
  3. // COPYING file in the root directory) and Apache 2.0 License
  4. // (found in the LICENSE.Apache file in the root directory).
  5. //
  6. #pragma once
  7. #include "rocksdb/rocksdb_namespace.h"
  8. namespace ROCKSDB_NAMESPACE {
  9. namespace port {
  10. // Install a signal handler to print callstack on the following signals:
  11. // SIGILL SIGSEGV SIGBUS SIGABRT
  12. // Currently supports linux only. No-op otherwise.
  13. void InstallStackTraceHandler();
  14. // Prints stack, skips skip_first_frames frames
  15. void PrintStack(int first_frames_to_skip = 0);
  16. } // namespace port
  17. } // namespace ROCKSDB_NAMESPACE