MacOSでは、スタックの最上部にあるトラップが問題のコードですが、どうやってそこに着くのかを知りたいのですがMacOSの__dyld__dyld_startのような機能の詳細
(gdb) where
...
#4 0x0000000112fdefc8 in appLibInit::appLibInit()
#5 0x0000000112fdef71 in __sti__$E()
#6 0x00007fff5fc112f7 in __dyld__ZN16ImageLoaderMachO18doModInitFunctionsERKN11ImageLoader11LinkContextE()
#7 0x00007fff5fc0d20c in __dyld__ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEj()
#8 0x00007fff5fc0d1b0 in __dyld__ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEj()
#9 0x00007fff5fc0d1b0 in __dyld__ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEj()
#10 0x00007fff5fc0d1b0 in __dyld__ZN11ImageLoader23recursiveInitializationERKNS_11LinkContextEj()
#11 0x00007fff5fc0d2f4 in __dyld__ZN11ImageLoader15runInitializersERKNS_11LinkContextE()
#12 0x00007fff5fc038b4 in __dyld__ZN4dyld24initializeMainExecutableEv()
#13 0x00007fff5fc06ea1 in __dyld__ZN4dyld5_mainEPK11mach_headermiPPKcS5_S5_()
#14 0x00007fff5fc01695 in __dyld__ZN13dyldbootstrap5startEPK11mach_headeriPPKcl()
#15 0x00007fff5fc0103a in __dyld__dyld_start()
#16 0x0000000100000000 in ??()
#17 0x0000000000000001 in ??()
機能appLibInit :: appLibInitは、我々のコードでグローバルオブジェクトのためのC++コンストラクタですので、私はおそらく、リンクされているすべての共有ライブラリを処理し、私はいくつかの並べ替えの前のメインコードによ推測しています(問題のコードは、別のものによってドラッグされていない限り、私たちがリンクしているとは思わないものです)。
mac C++ filtは、これらの__dyldプレフィックス記号をデコードしていないようです。
誰かがMacOSプロセスの起動シーケンスを記述している文書を知っていますか?それでは、ここで何が起こっているのかを少し分かりやすく説明してくれるでしょうか?