• Programmazione Android
  • CORSI ONLINE
  • Web Agency

Logo

Corsi di programmazione web e mobile online
Navigation
  • Home
  • CORSI ONLINE
  • Tutorial Pratici
  • GUIDE COMPLETE
    • Corso completo di C
    • Corso videogame con Cocos2d
    • Programmazione Cocoa Touch
  • Sezioni
    • Libri e manuali
    • Tips & Tricks
    • Risorse utili
    • Strumenti di Sviluppo
    • Materiale OpenSource
    • Framework
    • Guide Teoriche
    • Guide varie
    • Grafica e Design
    • iPad
    • News
    • Video Tutorial
    • Windows Phone
  • Pubblicità
  • About
    • Chi siamo
    • Pubblicazioni
    • Collabora
    • Sostieni devAPP

Chisel: il coltellino svizzero del debug iOS e OS X

By IgnazioC | on 15 Ottobre 2014 | 0 Comment
Risorse utili

Chisel (scalpello) è il nome di un progetto OpenSource rilasciato da Facebook utile durante il debug di applicazioni iOS e OS X.
Facebook non è nuova nel mondo dei progetti OpenSource e infatti il suo profilo GitHub è pieno di repositories interessanti, primi su tutti la sua libreria per le animazioni POP (facebook pop) e il tool per la compilazione dei progetti Xcode da command line xctool (facebook xctool).

Un’aspetto poco conosciuto di LLDB (il nuovo debugger che ha sostituito GDB qualche tempo fa) è che è scriptabile, cioè è possibile scrivere degli script in python per aggiungervi nuove funzionalità. Se avete voglia e tempo potete partire dalla pagina ufficiale e crearvi il vostro set di strumenti, oppure… potete usare chisel 🙂

L’installazione di chisel è automatica a patto di aver instatto precedentemente hombrew e se non l’avete fatto correte a farlo!

Per installare chisel, da riga di comando digitate:

brew update; brew install chisel

L’output di questo comando dovrebbe darvi informazioni sufficienti sul prossimo step da seguire, in ogni caso dovrete creare un file di testo nella vostra home con il nome di

.lldbinit

Questo file viene letto ed eseguito da LLDB al suo avvio, quindi digitiamo all’interno del file solo una riga per specificare il path dove trovare tutti gli script installati con chisel:

command script import /usr/local/opt/chisel/libexec/fblldb.py

La configurazione è adesso terminata, ma chisel sarà disponibile solo dal prossimo riavvio di xcode.

Qualche esempio di utilizzo

Abbiamo detto che chisel aggiunge funzionalità a LLDB, per provarlo vi consiglio di avviare un vostro progetto con un breakpoint all’interno di un metodo come viewDidAppear:
Una volta interrotta l’escuzione del programma aprite la console e dovreste vedere il prompt di LLDB in attesa di un comando:

Chisel-il-coltellino-svizzero-del-debug-iOS-e-OS-X-01

Per ottenere l’elenco completo dei comandi disponibili digitate:

help

dovreste vedere un lungo elenco di comandi predefiniti e in calce un elenco di “user-defined commands” che sono i comandi aggiunti da chisel.
Per avere maggiori informazioni su ciascun comando digitate

help nome_comando

Ad esempio questo è l’output se digitate “help visualize”:

(lldb) help visualize 
Open a UIImage, CGImageRef, UIView, or CALayer in Preview.app on your Mac.
Arguments:
  ; Type: (id); The object to visualize.
Syntax: visualize 

Sembra interessante! proviamo a digitare:

visualize self.view

Come risultato vedremo la view del nostro viewcontroller (o qualsiasi altra view, CALayer etc) renderizzata in png e aperta con Anteprima 😮

Un’altro comando molto interessante è taplog. Una volta digitato questo comando il programma riprenderà la sua normale esecuzione, per interrompersi nuovamente al prossimo tap sullo schermo e mostrando in console la view che è stata tappata.

Chisel-il-coltellino-svizzero-del-debug-iOS-e-OS-X-02

Tutti i comandi hanno uno scopo ben preciso e insieme costituiscono un vero coltellino svizzero, ci cono comandi per aggiungere/rimuovere un bordo da una view (border/unborder), comandi per visualizzare la gerarchia completa delle views (pviews) o dei viewcontroller (pvc):

Chisel-il-coltellino-svizzero-del-debug-iOS-e-OS-X-03

Se la cosa vi ha stuzzicato la fantasia, chisel offre anche la possibilità di aggiungere nuovi comandi a LLDB in modo più semplice rispetto a scrivervi uno script completo da zero, a tal proposito date un’occhiata alla documentazione ufficiale (docs).

Buona divertimento a tutti, alla prossima!

Share this story:
  • tweet

Tags: debug di applicazioni ios e os xGDBLibrerie iOSLLDBMateriale OpenSourcerisorse opensource iosStrumenti di Sviluppostrumenti di sviluppo ios

Recent Posts

  • Parte il percorso programmatori iOS in Swift su devACADEMY.it

    20 Dicembre 2017 - 0 Comment
  • Android, crittografare dati velocemente con Encryption

    24 Settembre 2018 - 0 Comment
  • Sql2o, accesso immediato ai database tramite Java

    3 Settembre 2018 - 0 Comment
  • Okio, libreria per ottimizzare l’input/output in Java

    27 Agosto 2018 - 0 Comment

Related Posts

  • AFNetworking: una libreria per semplificare il networking di un app

    18 Febbraio 2015 - 0 Comment
  • MMWormhole: comunicazione in realtime tra App ed estensioni

    14 Gennaio 2015 - 0 Comment
  • Come aggiornare un’applicazione via internet con GroundControl

    5 Settembre 2012 - 10 Comments

Author Description

No Responses to “Chisel: il coltellino svizzero del debug iOS e OS X”

Leave a Reply

Your email address will not be published. Required fields are marked *


*
*

Corso online di programmazione android e java

SEZIONI

  • Android
  • Comunicazioni
  • Contest
  • Corsi ed Eventi
  • Corso completo di C
  • Corso programmazione videogiochi
  • Framework
  • Grafica e Design
  • Guida rapida alla programmazione Cocoa Touch
  • Guide Teoriche
  • Guide varie
  • iPad
  • Le nostre applicazioni
  • Libri e manuali
  • Materiale OpenSource
  • News
  • Pillole di C++
  • Progetti completi
  • Risorse utili
  • Strumenti di Sviluppo
  • Swift
  • Tips & Tricks
  • Tutorial Pratici
  • Video Tutorial
  • Windows Phone

Siti Amici

  • Adrirobot
  • Allmobileworld
  • Apple Notizie
  • Apple Tribù
  • Avvocato360
  • Blog informatico 360°
  • bubi devs
  • fotogriPhone
  • GiovaTech
  • iApp-Mac
  • iOS Developer Program
  • iPodMania
  • MelaRumors
  • Meritocracy
  • SoloTablet
  • TecnoUser
  • Privacy & Cookie Policy
©2009-2018 devAPP - All Rights Reserved | Contattaci
devAPP.it è un progetto di DEVAPP S.R.L. - Web & Mobile Agency di Torino
Str. Volpiano, 54 - 10040 Leini (TO) - C.F. e P.IVA 11263180017 - REA TO1199665 - Cap. Soc. € 10.000,00 i.v.

devACADEMY.it

Vuoi imparare a programmare?

Iscriviti e accedi a TUTTI i corsi con un’unica iscrizione.
Oltre 70 corsi e migliaia di videolezioni online e in italiano a tua disposizione.

ISCRIVITI SUBITO