1*8975f5c5SAndroid Build Coastguard Worker // 2*8975f5c5SAndroid Build Coastguard Worker // Copyright 2022 The ANGLE Project Authors. All rights reserved. 3*8975f5c5SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 4*8975f5c5SAndroid Build Coastguard Worker // found in the LICENSE file. 5*8975f5c5SAndroid Build Coastguard Worker // 6*8975f5c5SAndroid Build Coastguard Worker // android_backtrace.cpp: 7*8975f5c5SAndroid Build Coastguard Worker // Implements functions to output the backtrace from the ANGLE code during execution on Android. 8*8975f5c5SAndroid Build Coastguard Worker // 9*8975f5c5SAndroid Build Coastguard Worker 10*8975f5c5SAndroid Build Coastguard Worker #include "common/backtrace_utils.h" 11*8975f5c5SAndroid Build Coastguard Worker 12*8975f5c5SAndroid Build Coastguard Worker namespace angle 13*8975f5c5SAndroid Build Coastguard Worker { 14*8975f5c5SAndroid Build Coastguard Worker printBacktraceInfo(BacktraceInfo backtraceInfo)15*8975f5c5SAndroid Build Coastguard Workervoid printBacktraceInfo(BacktraceInfo backtraceInfo) 16*8975f5c5SAndroid Build Coastguard Worker { 17*8975f5c5SAndroid Build Coastguard Worker // Return if no backtrace data is available. 18*8975f5c5SAndroid Build Coastguard Worker if (backtraceInfo.getStackAddresses().empty()) 19*8975f5c5SAndroid Build Coastguard Worker { 20*8975f5c5SAndroid Build Coastguard Worker return; 21*8975f5c5SAndroid Build Coastguard Worker } 22*8975f5c5SAndroid Build Coastguard Worker 23*8975f5c5SAndroid Build Coastguard Worker WARN() << "Backtrace start"; 24*8975f5c5SAndroid Build Coastguard Worker for (size_t i = 0; i < backtraceInfo.getSize(); i++) 25*8975f5c5SAndroid Build Coastguard Worker { 26*8975f5c5SAndroid Build Coastguard Worker WARN() << i << ":" << backtraceInfo.getStackAddress(i) << " -> " 27*8975f5c5SAndroid Build Coastguard Worker << backtraceInfo.getStackSymbol(i); 28*8975f5c5SAndroid Build Coastguard Worker } 29*8975f5c5SAndroid Build Coastguard Worker WARN() << "Backtrace end"; 30*8975f5c5SAndroid Build Coastguard Worker } 31*8975f5c5SAndroid Build Coastguard Worker } // namespace angle 32