examine_stack.h
Go to the documentation of this file.
00001 //
00002 // Copyright 2018 The Abseil Authors.
00003 //
00004 // Licensed under the Apache License, Version 2.0 (the "License");
00005 // you may not use this file except in compliance with the License.
00006 // You may obtain a copy of the License at
00007 //
00008 //      https://www.apache.org/licenses/LICENSE-2.0
00009 //
00010 // Unless required by applicable law or agreed to in writing, software
00011 // distributed under the License is distributed on an "AS IS" BASIS,
00012 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013 // See the License for the specific language governing permissions and
00014 // limitations under the License.
00015 //
00016 
00017 #ifndef ABSL_DEBUGGING_INTERNAL_EXAMINE_STACK_H_
00018 #define ABSL_DEBUGGING_INTERNAL_EXAMINE_STACK_H_
00019 
00020 namespace absl {
00021 namespace debugging_internal {
00022 
00023 // Returns the program counter from signal context, or nullptr if
00024 // unknown. `vuc` is a ucontext_t*. We use void* to avoid the use of
00025 // ucontext_t on non-POSIX systems.
00026 void* GetProgramCounter(void* vuc);
00027 
00028 // Uses `writerfn` to dump the program counter, stack trace, and stack
00029 // frame sizes.
00030 void DumpPCAndFrameSizesAndStackTrace(
00031     void* pc, void* const stack[], int frame_sizes[], int depth,
00032     int min_dropped_frames, bool symbolize_stacktrace,
00033     void (*writerfn)(const char*, void*), void* writerfn_arg);
00034 
00035 }  // namespace debugging_internal
00036 }  // namespace absl
00037 
00038 #endif  // ABSL_DEBUGGING_INTERNAL_EXAMINE_STACK_H_


abseil_cpp
Author(s):
autogenerated on Wed Jun 19 2019 19:42:14