Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[Cocoaheads Conference:2018] Além de prints e breakpoints: truques para um Debug avançado

482 views

Published on

“Além de prints e breakpoints: truques para um Debug avançado”

Muitos desenvolvedores não exploram de fato as ferramentas de debug, que quando usadas corretamente podem aumentar consideravelmente a produtividade, tempo de desenvolvimento e correção de bugs. Breakpoints podem, por exemplo, ser usados para pular etapas de execução do código, injetar código ou mudar valores de variáveis em tempo de execução. Imagine por exemplo, quanto tempo você já gastou mudando seu código manualmente só para chegar em um determinado estado do app, ou o tempo que gastou adicionando e lendo diversos prints, recompilando o código diversas vezes. Esse tempo poderia ser melhor aproveitado se breakpoints customizados fossem utilizados.

Breakpoints são só a ponta do iceberg de uma coleção de ferramentas para debug. Nessa palestra serão apresentadas algumas dessas técnicas, que podem aumentar de maneira efetiva sua produtividade e te ajudar a resolver problemas de maneira mais fácil.

Published in: Mobile
  • Login to see the comments

[Cocoaheads Conference:2018] Além de prints e breakpoints: truques para um Debug avançado

  1. 1. Juliana Chahoud, @jchahoud Além de prints e breakpoints Truques para um Debug avançado
  2. 2. Juliana Chahoud Desenvolvedora Mobile @jchahoud
  3. 3. Lista de Bugs
  4. 4. Que ferramentas eu tenho como desenvolvedor ?
  5. 5. Vamos aos bastidores do Xcode…
  6. 6. https://developer.apple.com/videos/play/wwdc2018/415/
  7. 7. Da onde vem esse compilador ?
  8. 8. LLVM Estrutura de Compilador e ferramentas Integrado ao Xcode Conjunto de componentes, vários subprodutos https://llvm.org
  9. 9. Um pouco de história…
  10. 10. Quem é o autor do LLVM?
  11. 11. Chris Lattner
  12. 12. Ta… e que mais tem o LLVM?
  13. 13. LLDB
  14. 14. LLDB Debugger default no Xcode Execução de comandos como o “po variable” https://lldb.llvm.org/tutorial.html
  15. 15. Vamos ao primeiro bug!
  16. 16. Feature: Marcar palestras
  17. 17. Deveria aparecer uma estrela
  18. 18. Reproduzindo o bug Clicando em diversas palestras até chegar em > 10 Mudar seu código para que talksToWatch seja >=10
  19. 19. Mudando valores em debug com: expression
  20. 20. Lista de Bugs
  21. 21. Posso criar meu próprio alias ?
  22. 22. Bugs na tela de detalhes
  23. 23. Bugs 1 Estratégia: Breakpoint para qualquer alteração de label da tela
  24. 24. Breakpoints especializados
  25. 25. Lista de Bugs
  26. 26. Alteração 3 Estratégia: Mockar novo layout dinamicamente
  27. 27. Mudando views via console
  28. 28. Lista de Bugs
  29. 29. Alteração 4 Estratégia: Mudar constraint via console
  30. 30. View Hierarchy Debugging
  31. 31. Lista de Bugs
  32. 32. Outros Pular instruções Watchpoints Suporte a Python, execute: command script import ~/ myCommands.py Ou adicione em: /.lldbinit
  33. 33. Resumo Usar `expression` para executar código na console de debug Usar breakpoints customizados para injetar código command alias, para criar seus alias Symbolic breakpoints para parar na execução de algum método Usar $arg1, $arg2 e $arg3 quando tiver num frame assembly
  34. 34. Resumo Para executar Objective-C: expression -l objc -O -- Views: [`self.view` recursiveDescription] Cast: po unsafeBitCast expression CATransaction.flush() Copiar e colar constraints para mudá-las na console
  35. 35. Obrigada! @jchahoud

×