#0 0x00000001070c86ac in +[WSGlobalTaskMgr load] at /Users/sammylan/Documents/Dev/LocalPods/WSLaunch/WSLaunch/TaskMgr/WSGlobalTaskMgr.mm:160
#1 0x000000019873a7cc in load_images ()
#2 0x0000000112d899d4 in dyld4::RuntimeState::notifyObjCInit(dyld4::Loader const*) ()
#3 0x0000000112d8db54 in dyld4::Loader::runInitializersBottomUp(dyld4::RuntimeState&, dyld3::Array<dyld4::Loader const*>&) const ()
#4 0x0000000112d93840 in dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&) const ()
#5 0x0000000112db094c in dyld4::APIs::runAllInitializersForMain() ()
#6 0x0000000112d9dc5c in dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*) ()
#7 0x0000000112d9c4b0 in start ()
- 步骤2:
__attribute__((constructor))
#0 0x00000001070cc060 in WS_AutoConstructor() at /Users/sammylan/Documents/Dev/LocalPods/WSLaunch/WSLaunch/TaskMgr/WSGlobalTaskMgr.mm:749
#1 0x0000000112d8c124 in invocation function for block in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const ()
#2 0x0000000112dbbdf8 in invocation function for block in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const ()
#3 0x0000000112d89eec in invocation function for block in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const ()
#4 0x0000000112d89210 in dyld3::MachOFile::forEachLoadCommand(Diagnostics&, void (load_command const*, bool&) block_pointer) const ()
#5 0x0000000112d88570 in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const ()
#6 0x0000000112dbb9b4 in dyld3::MachOAnalyzer::forEachInitializerPointerSection(Diagnostics&, void (unsigned int, unsigned int, unsigned char const*, bool&) block_pointer) const ()
#7 0x0000000112d950b0 in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const ()
#8 0x0000000112d91e10 in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const ()
#9 0x0000000112d8db60 in dyld4::Loader::runInitializersBottomUp(dyld4::RuntimeState&, dyld3::Array<dyld4::Loader const*>&) const ()
#10 0x0000000112d93840 in dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&) const ()
#11 0x0000000112db094c in dyld4::APIs::runAllInitializersForMain() ()
#12 0x0000000112d9dc5c in dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*) ()
#13 0x0000000112d9c4b0 in start ()
#0 0x00000001070cc1e4 in WSLoadTrack::WSLoadTrack() at /Users/sammylan/Documents/Dev/LocalPods/WSLaunch/WSLaunch/TaskMgr/WSGlobalTaskMgr.mm:34
#1 0x00000001070c84a0 in WSLoadTrack::WSLoadTrack() at /Users/sammylan/Documents/Dev/LocalPods/WSLaunch/WSLaunch/TaskMgr/WSGlobalTaskMgr.mm:33
#2 0x00000001070cd774 in __cxx_global_var_init at /Users/sammylan/Documents/Dev/LocalPods/WSLaunch/WSLaunch/TaskMgr/WSGlobalTaskMgr.mm:38
#3 0x00000001070cd794 in _GLOBAL__sub_I_WSGlobalTaskMgr.mm ()
#4 0x0000000112d8c124 in invocation function for block in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const ()
#5 0x0000000112dbbdf8 in invocation function for block in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const ()
#6 0x0000000112d89eec in invocation function for block in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const ()
#7 0x0000000112d89210 in dyld3::MachOFile::forEachLoadCommand(Diagnostics&, void (load_command const*, bool&) block_pointer) const ()
#8 0x0000000112d88570 in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const ()
#9 0x0000000112dbb9b4 in dyld3::MachOAnalyzer::forEachInitializerPointerSection(Diagnostics&, void (unsigned int, unsigned int, unsigned char const*, bool&) block_pointer) const ()
#10 0x0000000112d950b0 in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const ()
#11 0x0000000112d91e10 in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const ()
#12 0x0000000112d8db60 in dyld4::Loader::runInitializersBottomUp(dyld4::RuntimeState&, dyld3::Array<dyld4::Loader const*>&) const ()
#13 0x0000000112d93840 in dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&) const ()
#14 0x0000000112db094c in dyld4::APIs::runAllInitializersForMain() ()
#15 0x0000000112d9dc5c in dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*) ()
#16 0x0000000112d9c4b0 in start ()
- 共同代码:
- OC 与C的共同代码:
in dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&) const ()
- C和C++的共同代码:
in invocation function for block in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const ()