← man/system_admin
xctrace — man xctrace — 80×24
ugur@toprak:~/man/system_admin$man xctrace
Bölüm 1 Sistem Yönetimi

xctrace

Record, import, export and symbolicate Instruments .trace files.

Synopsis

     xctrace [komut [seçenekler]]

     xctrace help [komut]

     xctrace record [--output patika] [--append-run] [--template patika | ad] [--device ad | UDID]
	     [--run-name ad] [--time-limit süre [ms|s|m|h]]
	     [--all-processes | --attach pid | ad | --launch komut [argümanlar]]
	     [--target-stdin - | dosya] [--target-stdout - | dosya] [--env DEĞİŞKEN=değer] [--package dosya]
	     [--no-prompt] [--notify-tracing-started ad]

     xctrace import [--input dosya] [--output patika] [--template patika | ad] [--run-name ad]
	     [--package dosya]

     xctrace export [--input dosya] [--output patika] [--toc | --xpath ifade]

     xctrace remodel [--input dosya] [--output patika] [--package dosya]

     xctrace symbolicate [--input dosya] [--output patika] [--dsym dosya]

     xctrace list [devices | templates | instruments]

Description

xctrace, belirtilen kayıt şablonunu kullanarak yeni Instruments.app .trace dosyalarını kaydetmek için kullanılır. Ayrıca desteklenen girdi türlerindeki dosyaların .trace dosyalarına dönüştürülmesine ve .trace dosyalarındaki verilerin XML gibi ayrıştırılabilir formatlara aktarılmasına olanak tanır.

Kullanılabilir komutlar ve seçenekleri:

help Genel yardım veya komut argümanına özel yardım sağlar.

record Belirtilen şablon ile belirtilen cihaz ve hedef üzerinde yeni bir kayıt gerçekleştirir. Elde edilen .trace dosyası Instruments.app içinde görüntülenebilir veya xctrace kullanılarak dışa aktarılabilir. Kayıt tüm süreçleri (processes) hedefleyebilir, mevcut bir sürece bağlanabilir veya yeni bir süreci başlatabilir.

--output patika İzleme kaydını belirtilen patikaya kaydeder. --append-run seçeneği belirtilmişse, mevcut bir izleme dosyasının patikası kullanılabilir. Bu durumda sağlanan şablon yoksayılır ve mevcut izlemedeki şablon kullanılır. Geçilen patika bir dizin ise, o dizin içinde benzersiz şekilde adlandırılmış bir dosya oluşturulur. Patika .trace uzantısını içeriyorsa, belirtilen patikada veya çalışma dizininde bu adla yeni bir izleme oluşturulacaktır.

--append-run Mevcut bir izleme dosyasının hedeflenmesine izin verir. Bu seçeneğin belirtilmesi, yeni bir çalışmanın (run) eklenmesine neden olur. Yeni çalışma, bu mevcut izleme dosyasının başlangıçta kaydedildiği şablonla kaydedilir.

--run-name Bu kayıt için daha sonra Instruments.app içinde incelenebilecek bir çalışma adı belirtir.

--template patika | ad Verilen izleme şablonu adını veya patikasını kullanarak kayıt yapar. Eğer bir ad belirtilmişse, şablonun ya yüklü bir Instruments Paketi (Instruments Package) ile birlikte sunulması ya da Instruments için Application Support dizininde bulunması gerekir. Mevcut şablonları almak için xctrace list templates komutunu çalıştırın.

--instrument ad Belirtilen ada sahip aracı (Instrument) kayıt yapılandırmasına ekler. Mevcut araçları almak için xctrace list instruments komutunu çalıştırın.

--device ad | UDID Verilen ada veya UDID'ye sahip bir cihazda kayıt yapar. Belirtilmezse kayıt için yerel cihaz seçilir. "simulator" kelimesi dahil edilirse, simülatör tipindeki cihazlar tercih edilecektir. Mevcut cihazların listesini almak için xctrace list devices komutunu çalıştırın.

--time-limit süre [ms|s|m|h] Kaydı belirtilen zaman aralığıyla sınırlandırır. Örnek: "--time-limit 5s" veya "--time-limit 1m"

--window süre [ms|s|m] İzlemeyi, izleme arabelleğinin (buffer) dairesel bir arabellek (ring buffer) gibi davrandığı, yenilerine yer açmak için eski olayları kaldırdığı pencereli (windowed) modda çalışacak şekilde yapılandırır. Örnek: "--window 5s"

--all-processes Sistemde çalışan tüm süreçleri kaydeder.

--attach pid | ad Verilen ada veya pid değerine sahip çalışan sürece bağlanır ve kaydeder.

--launch -- komut [argümanlar] Verilen ada veya patikaya ve sağlanan argüman listesine sahip süreci başlatır ve kaydeder. Bu seçenek, xctrace komut çağrısındaki en son seçenek olarak geçilmelidir.

--package dosya Verilen Instruments Paketini komut süresince geçici olarak yükler.

--target-stdin - | dosya Hedef cihaz yerel Mac olarak ayarlandığında, başlatılan bir sürecin standart girdi akışını (stdin) yönlendirir. Bir dosyayı gösterebilir veya - olarak belirtilebilir; bu durumda xctrace'in standart girdisi hedef sürecin standart girdisine iletilir.

--target-stdout - | dosya Başlatılan bir sürecin standart çıktı akışını (stdout) yönlendirir. Bir dosyayı gösterebilir veya - olarak belirtilebilir; bu durumda hedef sürecin standart çıktısı xctrace'in standart çıktısına yönlendirilir.

--env DEĞİŞKEN=değer Başlatılan süreç için çevre değişkenini ayarlar. Örnek: "--env PATH=/tmp"

--no-prompt Normalde sunulacak olan tüm istemleri (gizlilik uyarıları gibi) atlar.

--notify-tracing-started ad Bir kayıt başladığında bu adla Darwin bildirimi gönderir.

import Belirtilen dosya desteklenen bir girdi formatındaysa, belirtilen şablonu kullanarak dosyayı bir Instruments .trace dosyasına aktarır. Bu dosya daha sonra Instruments.app kullanılarak görüntülenebilir veya xctrace export komutu kullanılarak dışa aktarılabilir.

--input dosya Verilen patikadaki desteklenen bir dosya formatından verileri içe aktarır.

--output patika İzleme kaydını belirtilen patikaya kaydeder. Mevcut izleme dosyaları hedeflenemez. Geçilen patika bir dizin ise, o dizin içinde benzersiz şekilde adlandırılmış bir dosya oluşturulur. --append-run seçeneği belirtilmişse, mevcut bir izleme dosyasının patikası kullanılabilir. Bu durumda sağlanan şablon yoksayılır ve mevcut izlemedeki şablon kullanılır.

--append-run Mevcut bir izleme dosyasının hedeflenmesine izin verir. Bu seçeneğin belirtilmesi, yeni bir çalışmanın eklenmesine neden olur. Yeni çalışma, izlemenin başlangıçta oluşturulduğu orijinal şablona aktarılır.

--template patika | ad Verilen izleme şablonu adını veya patikasını kullanarak içe aktarır. Yalnızca şablonda yer alan ve Instruments tarafından ihtiyaç duyulan veriler içe aktarılacaktır. Eğer ad belirtilmişse, şablonun ya yüklü bir Instruments Paketi ile birlikte sunulması ya da Instruments için Application Support dizininde bulunması gerekir. Mevcut şablonları almak için xctrace list templates komutunu çalıştırın.

--run-name ad Bu içe aktarma için daha sonra Instruments.app içinde incelenebilecek bir çalışma adı belirtir.

--instrument ad Belirtilen ada sahip aracı (Instrument) içe aktarma yapılandırmasına ekler. Mevcut araçları almak için xctrace list instruments komutunu çalıştırın.

--package dosya Verilen Instruments Paketini komut süresince geçici olarak yükler.

export Belirtilen dosya üzerindeki verileri dışa aktarır.

--input dosya Verilen patikadaki .trace dosyasından verileri dışa aktarır.

--output patika Dışa aktarma işleminin çıktısını verilen patikaya kaydeder. Belirtilmezse, metinsel çıktı xctrace standart çıktısına yazılır.

--toc Bir izleme dosyasının içindekiler tablosunu (table of contents) dışa aktarır. Bu, verilen izleme dosyasındaki içeriğe ve dışa aktarılabilir varlıklara genel bakış içerecektir.

--xpath ifade Verilen izleme dosyasından dışa aktarılacak varlıkları seçmek amacıyla içindekiler tablosu üzerinde verilen XPath sorgusunu gerçekleştirir. Seçilen varlıklar dışa aktarma komut çıktısında yer alacaktır.

--har İzleme çalışması HTTP Trafik Aracı (HTTP Traffic Instrument) içeriyorsa, verileri HTTP Arşiv (HAR) dosyası olarak dışa aktarır.

remodel Halihazırda yüklü paketleri ve bunların modelleyicilerini kullanarak izlemeyi yeniden modeller (remodel).

--input dosya Verilen patikadaki .trace dosyasından verileri yeniden modeller.

--output patika Yeniden modellenen .trace dosyasını verilen patikaya kaydeder.

--package dosya Verilen Instruments Paketini komut süresince geçici olarak yükler.

symbolicate Sağlanan hata ayıklama sembollerini (dSYM) kullanarak izleme dosyasını sembolleştirir.

--input dosya Verilen patikadaki .trace dosyasındaki adresleri sembolleştirir.

--output patika Sembolleştirilmiş .trace dosyasını verilen patikaya kaydeder. Belirtilmezse, sembolleştirilmiş .trace dosyası orijinal konumuna (girdi patikasına) kaydedilecektir.

--dsym patika Verilen patikadaki dSYM dosyasından alınan sembol verilerini kullanır. Patika bir dSYM dosyası veya dSYM dosyalarını özyinelemeli (recursive) olarak aramak için bir dizin olabilir. Belirtilmezse, araç dSYM dosyalarını otomatik olarak bulmak için elinden geleni yapacaktır (bu işlem biraz zaman alabilir).

list devices Yeni bir kayıt için hedef olarak kullanılabilecek, ana bilgisayar dışındaki tüm cihazları listeler.

list templates xctrace tarafından bilinen tüm şablonları listeler. Bunlar arasında Instruments.app ile birlikte gelen şablonlar, yüklü Instruments Paketlerindeki şablonlar ve Instruments.app için Application Support dizinene yüklenen özel şablonlar yer alır.

list instruments Kayıt veya içe aktarma iş akışının bir parçası olarak seçilebilecek tüm mevcut araçları (Instruments) listeler.

Genel seçenekler:

--quiet Terminal çıktısını daha az ayrıntılı hale getirir.

Ayrıca Bakınız

Instruments.app, grafiksel bir ortamda izleme kayıtları gerçekleştirmek ve xctrace tarafından oluşturulan izleme belgelerini açmak için kullanılabilir.

Örnekler

     MyCustomTemplate şablonunu kullanarak bir logarchive dosyasını benzersiz bir ada sahip izleme dosyasına aktarır:
	   % xctrace import --input system_logs.logarchive --template 'MyCustomTemplate'

     Bir ktrace dosyasını, MyCustomTemplate adlı şablondan oluşturulan yeni bir belgeye aktarır ve /tmp/PackageToLoad.instrdst konumundaki aracı ekleyip elde edilen belgeyi output.trace olarak kaydeder:
	   % xctrace import --input trace001.ktrace --template 'MyCustomTemplate' --package '/tmp/PackageToLoad.instrdst' --output output.trace

     Özel bir çalışma adı ile bir ktrace dosyasını içe aktarır:
	   % xctrace import --input trace001.ktrace --template 'System Trace' --run-name 'Baseline Trace' --output system.trace

     input.trace dosyasının içindekiler tablosunu (toc) standart çıktıya aktarır:
	   % xctrace export --input input.trace --toc

     input.trace dosyasının ilk çalışmasındaki my-table-schema şemasına sahip bir tablodan kaydedilen verileri standart çıktıya aktarır:
	   % xctrace export --input input.trace --xpath '/trace-toc/run[@number="1"]/data/table[@schema="my-table-schema"]'

     input.trace dosyasının ilk çalışmasında yer alan her bir ikili imaj için UUID, ikili patika, yükleme adresi ve mimari bilgilerini dışa aktarır ve output.xml olarak kaydeder:
	   % xctrace export --input input.trace --output output.xml --xpath '/trace-toc/run[@number="1"]/processes'

     input.trace dosyasının ilk çalışmasında my-process-name adlı süreç tarafından kullanılan her bir ikili imaj için UUID, ikili patika, yükleme adresi ve mimari bilgilerini standart çıktıya aktarır:
	   % xctrace export --input input.trace --xpath '/trace-toc/run[@number="1"]/processes/process[@name="my-process-name"]'

     Time Profiler şablonunu kullanarak yerel Mac cihazındaki tüm süreçleri kaydetmeye başlar ve 5 saniye sonra kaydı otomatik olarak durdurur:
	   % xctrace record --all-processes --template 'Time Profiler' --time-limit 5s

     Bağlı durumdaki "Chad's iPhone" adlı cihazda Trailblazer adlı sürece bağlanarak ve Time Profiler şablonunu kullanarak yeni bir kayıt başlatır:
	   % xctrace record --template 'Time Profiler' --device-name 'Chad's iPhone' --attach 'Trailblazer'

     iPhone SE Simulator adlı simülatör cihazında mevcut tüm süreçleri yakalayarak Metal System Trace şablon kaydını başlatır:
	   % xctrace record --template 'Metal System Trace' --device-name 'iPhone SE Simulator' --all-processes

     Yerel Mac cihazında Time Profiler şablon kaydını başlatır, /tmp/tool konumundaki ikili dosyayı arg1 argüman2 argümanlarıyla yürütüp profiller ve ikili dosyanın çıktısını standart çıktıya yönlendirir:
	   % xctrace record --template 'Time Profiler' --target-stdout - --launch -- /tmp/tool arg1 arg2

     SomeLibrary.dSYM dosyasındaki hata ayıklama bilgilerini kullanarak input.trace dosyasını sembolleştirir:
	   % xctrace symbolicate --input input.trace --dsym SomeLibrary.dSYM

     Hata ayıklama bilgilerini otomatik olarak bulmaya çalışarak input.trace dosyasını sembolleştirir:
	   % xctrace symbolicate --input input.trace

macOS					   3 Ocak 2023				       macOS