.so lib 中的人类可读构建/调试日志

问题描述 投票:0回答:0

我开始更多地了解 Android 平台上的本机代码,并在编译的 .so 库中找到这些(对我来说很奇怪)日志。我想知道它们是什么意思,它们来自哪里,或者我如何使用它们来改进我的代码。对我来说,它们似乎是编译器警告,但我不确定。

像任何优秀的开发人员一样,我的第一个想法是用谷歌搜索所有内容,但我找不到任何东西。我也找不到任何信息 android 本机框架是否有任何配置变量来禁用这些日志。

代码有效,但这些警告/日志确实包含以纯文本形式存储在变量中的数据,其中一些是应用程序机密,有意包含在本机库中以在纯文本中不可见,但这些日志破坏了这个想法。

这是我在 .so 文件中找到的这些可读部分之一:

libunwind: malformed DW_CFA_val_offset_sf DWARF unwind, reg too big
stoll./throwwchar_t'lambdaoperator~operator"" std::basic_stringdecltype(auto)Deleted virtual function called!std::exceptionjava/lang/Stringterminating with %s exception of type %sconst_cast>>unsigned __int128operator deleteoperator>=unwind_phase2unsupported arm64 registerlibunwind: malformed DW_CFA_def_cfa DWARF unwind, reg too big
getSLEB128getSavedRegisterd11d25 name for operator new) ? ( [enable_if:std::nullptr_tobjc_objectstd::bad_allocstd::bad_typeidgetEncodedPx22d3prodjava/lang/NoClassDefFoundErrorsha256/du6FkDdMcVQ3u8prumAo6t3i3G27uMP2EOhR8R0at/U=__cxa_guard_abort%stypeinfo for reference temporary for unsigned char operator&=operator*=std::basic_string<char, std::char_traits<char>, std::allocator<char> >getSavedFloatRegisterd13[REDACTED]std/=-=operator delete[] = newstd::string[REDACTED]auto-unsigned shortfalse%LaLoperator/operator|::*libunwind: malformed DW_CFA_val_offset DWARF unwind, reg (%lu) out of range

x26FDE has zero lengthFDE is really a CIE5a9950e194085a212e218c05allocator<T>::allocate(size_t n) 'n' exceeds maximum supported size$TTdeleteoperator&operator%operator>>) : ([abi:intlibunwind: malformed DW_CFA_same_value DWARF unwind, reg too big
DW_EH_PE_aligned pointer encoding not supportedtruncated sleb128 expressionx85da6ccccba59fc05d045b82eterminate_handler unexpectedly returned*signed char%asizeof...(basic_ostreamstd::ostreamstd::iostreamlong longnoexcept(unsupported restore location for registerx1x16lrd7%f__cxa_guard_acquire detected recursive initialization,*=operator new[]operator!std::basic_ostream<char, std::char_traits<char> >__float128char16_tduring phase1 personality function said it would stop here, but now in phase2 it did not stop herelibunwind: malformed DW_CFA_GNU_negative_offset_extended DWARF unwind, reg too big
d0d10d30d31 cannot be found!&=->*typename [] operator()operator>operator[]operator->unsigned longid<std::bad_castsetRegisterlibunwind: malformed DW_CFA_offset_extended DWARF unwind, reg too big
x7stoul> typename (anonymous namespace)operator== complexCIE version is not 1 or 3x24d295d9dc6363701010cfd393042sha256/CW8LsfTxLX+QZ4gieZR92+2hqE+MJDVcEtdZuZmw+s4=%s failed to broadcastvtable for VTT for alignof (!noexcept (charuoperator<operator->*unsigned intDW_EH_PE_funcrel pointer encoding not supportedlibunwind: Unsupported .eh_frame_hdr version
[REDACTED]%Lf: out of range__cxa_guard_acquirelibc++abidynamic_cast^===>short ... stringostreamlong doublex13d9java/lang/IllegalArgumentExceptionSecret with id unexpectedguard variable for .*trueoperator?bad_array_new_lengthlibunwind: %s - %s
pcx15virtual thunk to +=>>=ul%afoperator*operator||istream &&char8_tDW_OP_deref_size with bad sizeUnknown DWARF encoding for search table.x11x12unexpected_handler unexpectedly returnedconstruction vtable for =||__int128template<operator<<operator+operator+=operator++string literalunsigned long long imaginarylibunwind: malformed DW_CFA_expression DWARF unwind, reg too big
x25d14d195c8fb681f4230d062a3f47e3map::at:  key not found: no conversion^|=+vEoperator=operator/=boolevaluateExpressionfpd23bad_weak_ptr<<=operator^ restrictdecimal64libunwind: malformed DW_CFA_undefined DWARF unwind, reg too big
x27x28d4d17stoullstring_view::substrterminating with %s exception of type %s: %snon-virtual thunk to ->...std::basic_istream<char, std::char_traits<char> >iostreampixel vector[union_Unwind_Resume() can't returnlibunwind: malformed DW_CFA_register DWARF unwind, reg too big
<<yptnoperator%= constDW_OP_fbreg not implementedx19d22terminating with %s foreign exceptionuncaught!=operator--operator|=std::basic_iostream<char, std::char_traits<char> >_Unwind_Resumelibunwind: malformed DW_CFA_def_cfa_sf DWARF unwind, reg too big
x4d2d12benchmark[REDACTED]=<=%='block-literal'operator-basic_istreamstd::istreamdoublex2%s failed to acquire mutexinvocation function for block in static_castsizeof... (ull(operator-=libunwind: malformed DW_CFA_offset_extended_sf DWARF unwind, reg too big
getULEB128malformed uleb128 expressionDWARF opcode not implementedx14x20%s failed to release mutex&&|nullptroperator<<=::operator enumlibunwind: malformed DW_CFA_val_expression DWARF unwind, reg too big
spx3x9x[REDACTED]=vectorterminating&~reinterpret_castl, DW_EH_PE_textrel pointer encoding not supportedtruncated uleb128 expressionx21basic_stringoperator throw voidfloatdecimal128libunwind: malformed DW_CFA_restore_extended DWARF unwind, reg too big
getTableEntrySizex6d18d21d24)--Eoperator&&decimal32CIE ID is not zerod15d28thread-local wrapper routine for thread-local initialization routine for sizeof (operator!=__uuidof(std::allocatorallocatorstructlibunwind: malformed DW_CFA_def_cfa_register DWARF unwind, reg too big
Can't binary search on variable length encoded data.d26d27[REDACTED]/U=stoldterminate_handler unexpectedly threw an exceptionlloperator,decimal16noexceptgetRegisterDW_EH_PE_datarel is invalid with a datarelBase of 0x0x17d1unknown 

如果能提供这些日志的含义以及我如何禁用它们的生成的任何提示,我将不胜感激。

android c++ compilation java-native-interface libunwind
© www.soinside.com 2019 - 2024. All rights reserved.