Dla iOS działa wewnątrz Simulator, oczywiście Simulator to program, Mac OS X, dzięki czemu można użyj DTrace do monitorowania wszystkiego, co robi symulator.
W przypadku aplikacji na iOS działających na iPhonie, zgadzam się, że dokumentacja zapewnia niewielki wgląd w to, co się dzieje. Prawdopodobnie jest to albo ładowanie kodu monitorowania do procesu docelowego w systemie iOS (albo przez dodanie kodu podczas kompilacji, albo przez połączenie go w środowisku wykonawczym) lub istnieje "tradycyjny debugger" uruchomiony w systemie iOS w stosunku do procesu docelowego w celu implementacji śledzenia. Są to prawie jedyne opcje, jeśli nie ma obsługi poziomu jądra do korzystania z DTrace.
Nigdy nie korzystałem z instrumentów, ale najważniejszą rzeczą, która wyskakuje na mnie, jest to, że są w stanie zbierać pozornie-OS statystyki na temat operacji wejścia/wyjścia, które normalnie nie byłyby mierzalne bez DTrace. Nie jestem pewien, ponieważ go nie używałem, ale możliwe, że te statystyki śledzą tylko operacje wejścia/wyjścia z łatwych do wykrycia punktów wejścia (np. Związane z I/O układy systemowe z określonego procesu docelowego) lub że istnieją inne źródła danych specyficzne dla systemu iOS publikowane przez system operacyjny. Na przykład wiele statystyk systemowych można uzyskać z systemu Mac OS X, dzwoniąc pod numer sysctl
. W zależności od tego, jakie statystyki są faktycznie zbierane, Instruments może po prostu używać prostych liczników, takich jak te, aby wykonać większość pracy.
Jeśli jesteś naprawdę zdeterminowany, aby znaleźć odpowiedź, byłoby zabawnym wyzwaniem DTrace, aby rozwiązać ten problem przez samą funkcję DTracing Instruments. Powodzenia :-)