In dit tweede artikel in de driedelige reeks over Developer tools wordt ingegaan op het gebruik van de CHUD Tools: Shark, DTrace en Instruments. Deze worden meegeleverd op elke Mac OS X installatie dvd, de Mac OS X Developer tools. Deze set van gereedschappen is allesomvattend voor vrijwel elke type programmeur.

In het vorige artikel ging ik in op programma’s die men kan installeren voor het ontwikkelen van websites, dashboard widgets en applicaties. Dit artikel richt zich op de volgende stap in het programmeren, en zal het dichtst aansluiten bij het programma XCode, dat alle besproken functionaliteiten kan aanbieden en verwerken. Wederom zijn al deze programma’s te installeren vanaf de standaard installatie dvd van Mac OS X Leopard en staan in de meeste gevallen ook op de installatie-dvd van Tiger.

Apple’s CHUD Tools (Computer Hardware Understanding Development) is een verzameling van kleinere tools voor het meten van het verbruik van applicaties op verschillende systeemonderdelen met als voornaamste doel het optimaliseren van programma’s. Optimalisatie is een belangrijke stap in het ontwikkeltraject dat een applicatie doorloopt. Het zorgt er voor dat een programma als Safari snel een pagina ophaalt een weergeeft en je niet een minuut moet wachten op het inladen van je Pages document.

Shark
Dit is een van de pakketten die je terug vindt in het installatiepakket van de CHUD Tools en wordt gebruikt als sample-tool. Dit betekent dat het laat zien welke functies een programma op het moment aan het uitvoeren is. Zo kan het de gebruikte bibliotheken aanwijzen, en de stappen die het systeem neemt als je het een opdracht geeft. Tevens geeft het bij elk van deze stappen in percentages aan hoeveel van de tijd hij besteed aan deze functies over de periode waarin jij sampled. Erg handig om de heikelpunten in je applicatie te achterhalen.

shark

DTrace en Instruments
Dit zijn twee applicaties die nauw met elkaar samenwerken. Instruments is eigenlijk een grafische schil die door Apple werd ontwikkeld rondom DTrace. Het programma DTrace is meer dan een applicatie, het is eigenlijk een raamwerk bovenop het systeem. Bijna letterlijk, want het laat je als door een venster een blik binnen het systeem werpen. Oorspronkelijk is dit een raamwerk ontwikkeld door Sun voor OpenSolaris, maar het duurde niet lang voordat men het in probeerde te bouwen in de systeemkernel van FreeBSD. Aangezien Mac OS X de Mach kernel gebruikt, een microkernel gelinked aan de BSD bibliotheken, was het voor Apple een erg voor de hand liggende zet om het als basis te nemen in de volgende generatie Developer Tools voor Mac OS X Leopard. Het is daarom ook in combinatie met het intuïtief te gebruiken Instruments mijn favoriete applicatie uit de reeks ontwikkelgereedschappen.
DTrace is het type raamwerk dat zorgt dat men systeemverbruik uit kan lezen, zoals het aantal maal per minuut dat een programma van de harde schijf wil lezen of het geheugen gebruik. Wanneer men het programma Instruments opstart, wordt gevraagd wat je wil gaan doen. Je kunt onder andere kiezen voor het opsporen van lekken in je programma, de activiteiten weergeven of de objecten die in het geheugen staan weergeven. De meest interessante is de UI Recorder, dit is een template die muisacties en toetsaanslagen opneemt en kan afspelen terwijl je de andere keuzes bekijkt. Als je eenmaal een fout hebt gevonden in je testscenario, dan kun je deze opnemen en elke keer afspelen, terwijl je hem oplost, en direct alle gevolgen daarvan in een mooie grafiek weergeven.

adium

Al met al zijn dit voor de beginner misschien wat moeilijker te begrijpen programma’s, maar ik kan je garanderen dat ze erg vanzelfsprekend werken. Je zult je echter niet moeten schuwen om de diepere betekenis van deze details te leren lezen, vaak komt het neer op objecten volgen, variabele mutaties te achterhalen of optimalisatie toe te passen. Het is een kwestie van begrijpen hoe het besturingssysteem te werk gaat, en tussen de regels door lezen, weten wat belangrijk is voor jouw applicatie en waarom. Theoretische kennis moet goed worden gebruikt in de praktijk en omdat het vinden van problemen in je software geen fijne klus is, probeert Apple het je zo makkelijk mogelijk te maken, want uiteindelijk zitten we allemaal in hetzelfde schuitje als een applicatie niet naar behoren werkt.

Content written by Martijn de Boer. All content here may be quoted, linked to or summarized when linking to the original materials.