In deze situatiegids gaan we een handvol mogelijke oorzaken identificeren die debuggen van een soort xcode 4-broncode kunnen veroorzaken, en vervolgens oplossingen voorstellen die u kunt proberen om het probleem op te lossen.
p>
Goedgekeurd: Fortect
Uw privacy
Door op Alle cookies accepteren te klikken, geeft u Stack Exchange toestemming voor het plaatsen van cookies voor uw apparaat en het vrijgeven van informatie die wordt weergegeven in overeenstemming met ons cookiebeleid.
Xcode biedt ontwikkelaars een volwassen creativiteitsomgeving met een krachtige debugger. Onder de motorkap respecteren de foutopsporingstools van Xcode LLDB, de belangrijkste debugger van LLVM-projecten. U hoeft geen bijzonder diep begrip van LLDB of LLVM te hebben om de voordelen van de foutopsporingsitems van Xcode te benutten, maar het is zeker niet erg om vertrouwd te raken met LLDB en LLVM.
Cloud-foutopsporing
In een aparte aanpassing zullen we kijken naar de Xcode-foutopsporingstools die we gebruiken om Cloudy te debuggen, de moeiteloze app die we hebben gebouwd in Mastering MVVM met Swift. Download de app als je wilt rss.
Je kunt alleen software debuggen als het in een simulatie draait, misschien op een apparaat. Wanneer u de financiële toepassing aanroept, wordt de aanpak geïnstantieerd. We verwijzen meestal naar een bepaalde instantie als een proces en dit is process.ssom dat we tijdens de ontwikkeling debuggen. Bovendien worden processleutelwoorden traditioneel door elkaar gebruikt. Het is goed als uw bedrijf het verschil begrijpt.
Wanneer u een gebruik in Xcode start, wordt automatisch een debugger gestart en aan dit aanvraagproces gekoppeld. Klik op de knop Uitvoeren in de eigenlijke linkerbovenhoek of druk op Command + R. Hoewel de applicatie hierboven werkt en we mogelijk naar het proces kunnen gaan kijken, zou ik beweren dat het proces indien nodig zal worden opgespoord. p>
Foutopsporingsgebied
De eerste variatie die je opvalt wanneer het plan wordt uitgevoerd, aangezien de Xcode-debugger emotioneel betrokken is bij het specifieke proces van zijn toepassing, is de debug-laag hieronder. Wat u bedoelt, hangt af van hoe uw belangrijkste Xcode-installatie is ingesteld, maar u kunt op zijn minst de foutopsporingsbalk zien door naar de onderkant van het venster te gaan.
Als er niets te melden of te debuggen is, is deze unieke wijziging vaak onzichtbaar. We zullen meer kijken naar het debug-paneel in het voorkomen bij het debuggen met breekpunten.
We kunnen de weergave van variabelen en dus consoleb verschaffen of verbergen door simpelweg op de middelste weergave-besturing te klikken in het geval dat deze zich in de rechterbovenhoek bevond, en door op een van onze meest linkse knoppen met de debug-balk te klikken.
De variabele controle is op dit moment toevallig leeg omdat uw huidige toepassing eerder is gepauzeerd dan gepauzeerd. Dit zal later in deze release duidelijk worden. De console geeft deze uitvoer weer, ontworpen door Xcode en een veelgebruikte applicatie. De coördinaten die bijvoorbeeld naar de console worden afgedrukt, liggen erg ver van de afdrukinformatie in het project.
print (" (breedtegraad), (lengtegraad)")
Het afdrukken van een extra instructiedocument is uitermate handig voor het opsporen van fouten. Dit wordt beschouwd als een eenvoudige, basisvorm van foutopsporing die de hele tijd in beslag zal nemen.
De toepassing opschorten
De tweede knop die vaak bij de debug-balk hoort, stelt ons in staat om deactiveringen op te geven of breekpunten die in een specifiek project of werkruimte zijn gedefinieerd. We zullen binnenkort breekpunten in deze reeks vinden. Pauze
De knop
pauzeert en stopt de aanvraagroute. U zorgt vaak niet voor uw hele gezin. Het is beter om de vaststelling te onderbreken door een ander punt o Tanova toe te passen op een bepaald tijdstip of wanneer aan een bepaalde voorwaarde is voldaan. Houd er rekening mee dat helaas een deel van de pauzeknop verandert in een inzetknop zodra de app wordt gepauzeerd. Dit stelt ons in staat om het sollicitatieproces voort te zetten.
Mogelijk hebt u de drie knoppen aan de rechterkant met betrekking tot de pauzeknop genegeerd. We komen op deze richtlijnen terug wanneer we de breekpunten in detail bespreken.
Foutopsporing hiërarchie
De volgende knop is een stuk interessanter. Wanneer we op deze hardware klikken, pauzeert de applicatie Xcode en toont ons een belangrijke geïmplementeerde versie van de gebruikersinterface van een financiële applicatie. Dit is de get-debugger die wordt geleverd vanuit Xcode.
Het toont ons ook de displays van de applicatie versus de viewcontrollers die spijt hebben van het verwerken van informatie. View is erg handig bij het debuggen als het gaat om het debuggen gerelateerd aan het systeem van de gebruiker. Verken dit aspect over foutopsporing in meer detail in een toekomstige release.
Als je nog steeds in de debug zit, kijk dan eens naar de hiërarchie, de applicatie is inderdaad gepauzeerd en stelt voor om te debuggen. Ik ben een momentopname van zijn actieve status. We kunnen de perspectief-foutopsporing afsluiten door op de juiste knop Doorgaan in elk van onze foutopsporingspanelen te klikken.
Geheugen debuggen
Een paar jaar geleden heeft Apple nog een debug toegevoegd die zal helpen bij het debuggen van xcode, het schijfruimtediagram in het aanvraagproces. Dit is waarschijnlijk voor u zeer nuttig bij het opsporen van geheugencomplicaties, bijvoorbeeld vanwege opslagcycli of geheugenlekken met willekeurige toegang.
Wanneer u op deze knop klikt, stopt de toepassing en legt de debugger een geheugendiagram vast dat met het proces is verbonden. We vinden niets interessants in dit voorbeeld. In de volgende aflevering laat ik je zien hoe je deze tool kunt gebruiken met betrekking tot het bepalen van bewaartijden en andere opslagproblemen.
Herpositioneringssimulatie
Ontwikkelaars besteden voortdurend hun tijd aan het schrijven van code om persoonlijke desktops te ondersteunen, waardoor het moeilijk is om lokalisatieservices te debuggen. Dit wordt een beetje gemakkelijker dankzij de vrijheid van Xcode om locatieveranderingen te simuleren.
Goedgekeurd: Fortect
Fortect is 's werelds meest populaire en effectieve pc-reparatietool. Miljoenen mensen vertrouwen erop dat hun systemen snel, soepel en foutloos blijven werken. Met zijn eenvoudige gebruikersinterface en krachtige scanengine kan Fortect snel een breed scala aan Windows-problemen vinden en oplossen - van systeeminstabiliteit en beveiligingsproblemen tot geheugenbeheer en prestatieproblemen.
Met deze knop kunnen klanten locaties simuleren over een slimme debug-sessie. U kunt ook bijna elk GPX-bestand hosten om meerdere siteverbeteringen te simuleren. Dit kan handig zijn om bijvoorbeeld een rondje om de hoek of een rondje te rennen. De simulatoren zullen ook ondersteuning bieden voor het simuleren van locatieaanpassingen.
Voeg een breekpunt toe
We zullen nader ingaan op de breekpunten die later in de serie zijn gevonden. Helaas wil ik u graag helpen om u een snel overzicht te geven van de breekpuntbrowser. Je kunt natuurlijk een bepaald breekpunt toevoegen door met de linkermuisknop op de goot te klikken in elk soort brontrack. Het stoppunt wordt weergegeven als een azuurblauwe pijl.
Als we de app opnieuw starten, pauzeert Xcode de app zodra deze een breekpunt bereikt. Merk op voor wie de analyse van variabelen nu gevuld is met het aanbieden van informatie. We zullen dit aspect later in deze specifieke serie vergroten.
Met de console kunnen we gegevens delen met LLDB. De opdracht po
gebruikt een object en retourneert het object met betrekking tot de console.
Een project of gebied met goede resultaten kan tientallen aspuntentanova bevatten. Een mooie preview vind je in de Xcode Breakpoint browser aan de linkerkant. Dit maakt het gemakkelijker om breekpunten te beschermen en uit te schakelen om naar een specifieke positie van het breekpunt te trekken wanneer u naar u kijkt.
De Editor voor leermiddelen geeft ook informatie wanneer een onderbrekingspunt wordt bereikt. Als u bijvoorbeeld de muisaanwijzer op een lokale variabele houdt, kan iedereen de waarde ervan eenvoudig controleren. Hoewel het overweldigend is, is Variable View handiger en helpt u het het meest.
Browser voor foutopsporing
De applicatie is nog steeds actief omdat het beste onderbrekingspunt is gevonden. Voor meer informatie over de huidige staat van de toepassing, zie Debug Browser Content in het onderwerp aan de rechterkant.
U kunt de debug-functies hierboven vinden en als gevolg daarvan het proces hieronder. Foutopsporingsvlaggen vertellen u welke bronnen vaak door de toepassing worden geselecteerd. Dit is ook het handigst wanneer het hulpprogramma actief is.
Nu is het zicht op het proces een stuk spannender. Het toont ons een specifiek spoor binnen de applicatie, dat is georganiseerd door het threads-proces. De app gebruikt meerdere threads om zijn werk te doen en is momenteel opgeschort in thread 1, de meest voorkomende thread.
Elke regel is vrijwel zeker per stackframe. De huidige stapelmodus is versierd en komt overeen met het breekpuntgebied dat we hebben geregeld. Raak niet betrokken als u niet bekend bent vanwege stapelafbeeldingen. We zullen later meer hebben over stapelondersteuningsframes.
Foutopsporingsopties
Ik vind het zeker leuk om je iets anders te laten zien in mijn aflevering. Aan het begin van de aflevering heb ik dit beschreven zodat de debugger automatisch linkt naar het huidige aanvraagproces. Dit is wat je ziet, de standaard. Het is ook mogelijk om een fantastische debugger aan een gevonden proces te koppelen.
U vraagt zich misschien af waarom dit nuttig is. Dit kan mogelijk interessant zijn als je de laatste kritiek in je applicatie vindt waar je rrs-apparaat vaak gewoon niet is aangesloten op je computer of Xcode niet in gebruik is. Er worden veel fouten gemaakt wanneer u niet achter uw elektronische computer zit. Is het niet?
Ik zal u een specifieke functie laten zien op basis van de Cloudy-versie die wordt uitgevoerd tijdens onze eigen simulator. We starten de applicatie en selecteren ook Kies Attach to Process in het Xcode Debug-menu.
Xcode helpt ons door een paar waarschijnlijke doelen bovenaan te plaatsen. Als we een proces kiezen. We zijn overal om ons heen geïnteresseerd, de Stop-knop is geactiveerd, wat betekent dat vaak de debugger aan het proces is gekoppeld. Eens kijken
, maar ga nog een stap verder. Xcode 9 voegt draadloze ondersteuning toe voor foutopsporing. Dit betekent dat je je applicatie kunt bouwen om te racen op een fysiek product zonder dat je een verbinding nodig hebt. Dit is geweldig, en het is een strategie die ontwikkelaars ook nodig hebben om uw eigen debugger te koppelen aan een actieve toepassing die op de handset wordt uitgevoerd. Onthoud dat u alleen fouten kunt opsporen in uw eigen toepassingen van de industrie.
De app waarmee ik verbinding maak met de debugger, is absoluut een Cloudy-instantie die op een apparaat wordt geleid, laat staan een papier dat is aangesloten op mijn ontwikkelcomputer. Het is gewoon heel erg met je als je naar mijn visie vraagt. Dit betekent dat het gemakkelijker is om willekeurige fouten, fouten die meestal moeilijk te reproduceren zijn, tot aan een probleem te debuggen.
En toen
Het is je misschien opgevallen dat het gebruik van de gebruikersinterface van Xcode zal veranderen wanneer de applicatie wordt gestart, en ook wanneer er fouten in de applicatie worden opgespoord. Xcode zal uw gezin het beste laten zien op basis van de huidige omstandigheden en het lot. Je kunt dit enigszins speciaal maken door gitaar te spelen met Xcodes met voorkeuren en gedrag. Wat is mijn partner en waar ga ik later naar kijken.
We zullen een beetje veel leren over de foutopsporingstools van Xcode, maar je moet echt vertrouwd raken met enkele van de tools die Xcode ons biedt voor het debuggen van toepassingen. In de exacte volgende aflevering duiken we dieper in het debuggen van het gebruik van breekpunten. Flexibele banden zijn veelzijdig en effectief. Het debuggen van breekpunten is een geweldige techniek die naast tijd ook seizoen gebruikt.
Versnel de prestaties van uw computer nu met deze eenvoudige download.