Dicas de debug no Xcode

Já precisou debugar projetos e acabou caindo num mar de assembly sem informação alguma? Seus problemas acabaram!

1) Breakpoint de Exceção

Trata-se de um breakpoint especial, não associado com nenhuma linha de código. Ele será chamado de qualquer lugar no momento que ocorrer uma exceção.

Com isso, o editor irá parar no arquivo e linha onde ocorre o erro, facilitando o entendimento.

Chega de dar de cara com:

Sem exceção

Para adicionar esse breakpoint, vá no menu Debug > Breakpoints > Create Exception Breakpoint ou na sidebar Debug Navigator + Add Exception Breakpoint: Adicionando o breakpoint

Resultado:

Com exceção


2) Breakpoint de Exceção + Stack

Além da dica anterior, também é útil fazer uso do método [NSThread callStackSymbols] para informações mais acessíveis.

  • Em cima do Breakpoint, clique com o botão alternativo e acesse a opção Edit Breakpoint...:

Editar breakpoint

  • Você irá se deparar com as configurações abaixo:

Breakpoint default

  • Altere Action para Debugger Command e no campo que se abrirá insira po [NSThread callStackSymbols]:

Breakpoint com stack

A partir de agora, assim que o breakpoint for disparado, o stack da respectiva Thread será impresso no Console:

Console + stack


3) Método description

Método equivalente ao toString() do Java, Javascript, PHP, C# etc. É definido em NSObject, que é a classe base na grande maioria das classes em Objective-C.

+ (NSString *)description

Sobreescrever esse método nos ajuda a visualizar objetos de forma mais rápida e prática.

  • Objeto User padrão:

Sem método

  • Objeto User com o método:

Método

Com método


Referências: