/bionic/tests/ |
D | execinfo_test.cpp | 46 void* frames[20]; in TEST() local 47 ASSERT_EQ(0, backtrace(frames, 0)); in TEST() 48 ASSERT_EQ(0, backtrace(frames, -1)); in TEST() 56 extern "C" __attribute__((__noinline__)) void CallTwo(std::vector<void*>& frames) { in CallTwo() argument 57 int num_frames = backtrace(frames.data(), static_cast<int>(frames.size())); in CallTwo() 59 frames.resize(static_cast<size_t>(num_frames)); in CallTwo() 62 extern "C" __attribute__((__noinline__)) void CallOne(std::vector<void*>& frames) { in CallOne() argument 63 CallTwo(frames); in CallOne() 67 static std::string DumpFrames(std::vector<void*>& frames) { in DumpFrames() argument 69 for (auto frame : frames) { in DumpFrames() [all …]
|
D | android_unsafe_frame_pointer_chase_test.cpp | 38 static bool CheckFrames(uintptr_t* frames, size_t num_frames) { in CheckFrames() argument 47 if (frames[0] == frames[1]) { in CheckFrames() 48 printf("frames[0] == frames[1] (0x%zx)", frames[0]); in CheckFrames() 53 if (frames[i] != frames[1]) { in CheckFrames() 54 printf("frames[i] (0x%zx) != frames[1] (0x%zx)", frames[i], frames[1]); in CheckFrames() 59 if (frames[kNumFrames] == frames[kNumFrames + 1]) { in CheckFrames() 60 printf("frames[kNumFrames] == frames[kNumFrames + 1] (0x%zx)", frames[kNumFrames]); in CheckFrames() 70 uintptr_t frames[kNumFrames + 2]; in TEST() local 71 size_t size2 = recurse(kNumFrames, frames, kNumFrames + 2); in TEST() 74 EXPECT_TRUE(CheckFrames(frames, size)); in TEST() [all …]
|
/bionic/libc/malloc_debug/tests/ |
D | backtrace_fake.cpp | 45 size_t backtrace_get(uintptr_t* frames, size_t frame_num) { in backtrace_get() argument 52 memcpy(frames, g_fake_backtrace[0].data(), sizeof(uintptr_t) * total_frames); in backtrace_get() 57 void backtrace_log(const uintptr_t* frames, size_t frame_count) { in backtrace_log() argument 59 error_log(" #%02zd pc %p", i, reinterpret_cast<void*>(frames[i])); in backtrace_log() 69 void BacktraceUnwindFake(const std::vector<unwindstack::FrameData>& frames) { in BacktraceUnwindFake() argument 70 g_fake_local_frame_data.push_back(frames); in BacktraceUnwindFake() 73 bool Unwind(std::vector<uintptr_t>* frames, std::vector<unwindstack::FrameData>* info, size_t) { in Unwind() argument 80 frames->clear(); in Unwind() 82 frames->push_back(frame.pc); in Unwind()
|
D | backtrace_fake.h | 30 void BacktraceUnwindFake(const std::vector<unwindstack::FrameData>& frames);
|
D | malloc_debug_unit_tests.cpp | 1199 uintptr_t frames[0]; member 1233 entry->frames[0] = 0xf; in TEST_F() 1234 entry->frames[1] = 0xe; in TEST_F() 1235 entry->frames[2] = 0xd; in TEST_F() 1283 entry2->frames[0] = 0xf; in TEST_F() 1284 entry2->frames[1] = 0xe; in TEST_F() 1285 entry2->frames[2] = 0xd; in TEST_F() 1286 entry2->frames[3] = 0xc; in TEST_F() 1299 entry1->frames[i] = 0xbc000 + i; in TEST_F() 1314 entry0->frames[0] = 0x104; in TEST_F() [all …]
|
/bionic/libc/malloc_debug/ |
D | backtrace.cpp | 76 uintptr_t* frames; member 80 stack_crawl_state_t(uintptr_t* frames, size_t frame_count) in stack_crawl_state_t() 81 : frames(frames), frame_count(frame_count) {} in stack_crawl_state_t() 110 state->frames[state->cur_frame++] = ip; in trace_function() 114 size_t backtrace_get(uintptr_t* frames, size_t frame_count) { in backtrace_get() argument 115 stack_crawl_state_t state(frames, frame_count); in backtrace_get() 120 std::string backtrace_string(const uintptr_t* frames, size_t frame_count) { in backtrace_string() argument 132 if (dladdr(reinterpret_cast<void*>(frames[frame_num]), &info) != 0) { in backtrace_string() 140 const MapEntry* entry = g_map_data.find(frames[frame_num], &rel_pc); in backtrace_string() 167 frames[frame_num] - offset); in backtrace_string() [all …]
|
D | UnwindBacktrace.cpp | 52 bool Unwind(std::vector<uintptr_t>* frames, std::vector<unwindstack::FrameData>* frame_info, in Unwind() argument 58 frames->clear(); in Unwind() 63 frames->resize(data.frames.size()); in Unwind() 64 for (const auto& frame : data.frames) { in Unwind() 65 frames->at(frame.num) = frame.pc; in Unwind() 67 *frame_info = std::move(data.frames); in Unwind()
|
D | PointerData.cpp | 154 std::vector<uintptr_t> frames; in AddBacktrace() local 157 if (!Unwind(&frames, &frames_info, num_frames)) { in AddBacktrace() 161 frames.resize(num_frames); in AddBacktrace() 162 num_frames = backtrace_get(frames.data(), frames.size()); in AddBacktrace() 166 frames.resize(num_frames); in AddBacktrace() 169 FrameKeyType key{.num_frames = frames.size(), .frames = frames.data()}; in AddBacktrace() 175 key.frames = frames.data(); in AddBacktrace() 178 frames_.emplace(hash_index, FrameInfoType{.references = 1, .frames = std::move(frames)}); in AddBacktrace() 203 FrameKeyType key{.num_frames = frame_info->frames.size(), .frames = frame_info->frames.data()}; in RemoveBacktrace() 242 size_t PointerData::GetFrames(const void* ptr, uintptr_t* frames, size_t max_frames) { in GetFrames() argument [all …]
|
D | backtrace.h | 38 size_t backtrace_get(uintptr_t* frames, size_t frame_count); 39 void backtrace_log(const uintptr_t* frames, size_t frame_count); 40 std::string backtrace_string(const uintptr_t* frames, size_t frame_count);
|
D | PointerData.h | 55 uintptr_t* frames; member 60 if (frames[i] != comp.frames[i]) { 72 std::size_t cur_hash = key.frames[0]; 76 cur_hash ^= key.frames[i]; 85 std::vector<uintptr_t> frames; 159 static size_t GetFrames(const void* pointer, uintptr_t* frames, size_t max_frames); 170 static std::string GetHashString(uintptr_t* frames, size_t num_frames);
|
D | UnwindBacktrace.h | 37 bool Unwind(std::vector<uintptr_t>* frames, std::vector<unwindstack::FrameData>* info,
|
D | malloc_debug.h | 56 uintptr_t frames[0]; member
|
D | malloc_debug.cpp | 182 ssize_t debug_malloc_backtrace(void* pointer, uintptr_t* frames, size_t frame_count); 292 std::vector<uintptr_t> frames; in BacktraceAndLog() local 294 if (!Unwind(&frames, &frames_info, 256)) { in BacktraceAndLog() 300 std::vector<uintptr_t> frames(256); in BacktraceAndLog() local 301 size_t num_frames = backtrace_get(frames.data(), frames.size()); in BacktraceAndLog() 305 backtrace_log(frames.data(), num_frames); in BacktraceAndLog() 1071 ssize_t debug_malloc_backtrace(void* pointer, uintptr_t* frames, size_t max_frames) { in debug_malloc_backtrace() argument 1083 return PointerData::GetFrames(pointer, frames, max_frames); in debug_malloc_backtrace()
|
D | README.md | 103 of frames captured will speed the allocations up. 105 Note that any backtrace frames that occur within the malloc backtrace library 108 If MAX\_FRAMES is present, it indicates the maximum number of frames to 109 capture in a backtrace. The default is 16 frames, the maximumum value 135 If MAX\_FRAMES is present, it indicates the maximum number of frames to 136 capture in a backtrace. The default is 16 frames, the maximumum value 200 that is extra thorough and can unwind through Java frames. This will run 272 option is enabled. By default, a maximum of 16 frames will be recorded, 310 backtrace frames to capture when an allocation is freed. 312 If MAX\_FRAMES is present, it indicates the number of frames to capture. [all …]
|
D | README_marshmallow_and_earlier.md | 50 first 16 frames of the backtrace will be captured. 91 only up to 16 frames will be recorded.
|
D | README_api.md | 43 incorrectly set to the number of frames in the backtrace.
|
/bionic/libc/bionic/ |
D | execinfo.cpp | 42 void** frames; member 46 StackState(void** frames, int frame_count) : frames(frames), frame_count(frame_count) {} in StackState() 89 state->frames[state->cur_frame++] = reinterpret_cast<void*>(ip); in TraceFunction()
|
D | malloc_common_dynamic.cpp | 465 extern "C" ssize_t malloc_backtrace(void* pointer, uintptr_t* frames, size_t frame_count) { in malloc_backtrace() argument 470 return reinterpret_cast<malloc_backtrace_func_t>(func)(pointer, frames, frame_count); in malloc_backtrace()
|
/bionic/libc/kernel/uapi/linux/can/ |
D | bcm.h | 22 struct can_frame frames[]; member
|
/bionic/libc/malloc_hooks/ |
D | malloc_hooks.cpp | 57 ssize_t hooks_malloc_backtrace(void* pointer, uintptr_t* frames, size_t frame_count);
|
/bionic/libfdtrack/ |
D | fdtrack.cpp | 130 entry->backtrace = std::move(data.frames); in fd_hook()
|
/bionic/docs/ |
D | fdtrack.md | 66 * Chasing the frame pointer will often result in multiple frames inside the
|
/bionic/libc/kernel/uapi/linux/ |
D | rkisp1-config.h | 214 __u8 frames; member
|
D | videodev2.h | 519 __u8 frames; member
|
/bionic/libc/kernel/uapi/sound/ |
D | asound.h | 472 snd_pcm_uframes_t frames; member 477 snd_pcm_uframes_t frames; member
|