升级到Mojave后protobuf崩溃

时间:2018-12-11 17:39:20

标签: xcode macos debugging protocol-buffers macos-mojave

升级到Mojave后,应用程序开始在XCode调试器中崩溃。它确实可以作为独立应用程序正常运行。

回溯显示如下:

frames 0-5 call for the custom new, which is not initialized, the app initializes custom memory allocator in main
frame #6: 0x00007fff53ee006f libprotobuf.dylib`wireless_diagnostics::google::protobuf::(anonymous namespace)::InitGeneratedPool() + 20
frame #7: 0x00007fff53ecdd47 libprotobuf-lite.dylib`wireless_diagnostics::google::protobuf::internal::FunctionClosure0::Run() + 17
frame #8: 0x00007fff53ecdd1b libprotobuf-lite.dylib`wireless_diagnostics::google::protobuf::GoogleOnceInitImpl(long*, wireless_diagnostics::google::protobuf::Closure*) + 73
frame #9: 0x00007fff53edffbe libprotobuf.dylib`wireless_diagnostics::google::protobuf::DescriptorPool::InternalAddGeneratedFile(void const*, int) + 78
frame #10: 0x00007fff53edfbf9 libprotobuf.dylib`wireless_diagnostics::google::protobuf::protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto() + 68
frame #11: 0x0000000117de8cc8 dyld`ImageLoaderMachO::doModInitFunctions(ImageLoader::LinkContext const&) + 518
frame #12: 0x0000000117de8ec6 dyld`ImageLoaderMachO::doInitialization(ImageLoader::LinkContext const&) + 40
frame #13: 0x0000000117de40da dyld`ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, char const*, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 358
frame #14: 0x0000000117de406d dyld`ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, char const*, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 249
frame #15: 0x0000000117de406d dyld`ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, char const*, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 249
frame #16: 0x0000000117de406d dyld`ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, char const*, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 249
frame #17: 0x0000000117de406d dyld`ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, char const*, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 249
frame #18: 0x0000000117de406d dyld`ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, char const*, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 249
frame #19: 0x0000000117de3254 dyld`ImageLoader::processInitializers(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 134
frame #20: 0x0000000117de32e8 dyld`ImageLoader::runInitializers(ImageLoader::LinkContext const&, ImageLoader::InitializerTimingList&) + 74
frame #21: 0x0000000117dd2756 dyld`dyld::initializeMainExecutable() + 169
frame #22: 0x0000000117dd778f dyld`dyld::_main(macho_header const*, unsigned long, int, char const**, char const**, char const**, unsigned long*) + 6237
frame #23: 0x0000000117dd14f6 dyld`dyldbootstrap::start(macho_header const*, int, char const**, long, macho_header const*, unsigned long*) + 1154
frame #24: 0x0000000117dd1036 dyld`_dyld_start + 54

Xcode注入动态库libViewDebuggerSupport.dylib,这将导致崩溃。有问题的* .dylib是

/System/Library/PrivateFrameworks/WirelessDiagnostics.framework/Versions/A/Libraries/libprotobuf.dylib

修复自定义分配器是选项之一,但我想避免这样做。

您知道阻止XCode注入libViewDebuggerSupport.dylib的任何方法吗?

1 个答案:

答案 0 :(得分:0)

它似乎是莫哈韦沙漠(Mojave)中的错误。苹果公司正在修复它,但他们没有给我任何预计到达时间。

现在,我通过修复自定义分配器来修复崩溃。