{"id":15134516,"url":"https://github.com/cami-la/debugging-java","last_synced_at":"2025-05-16T00:07:39.055Z","repository":{"id":37479614,"uuid":"413834704","full_name":"cami-la/debugging-java","owner":"cami-la","description":"Curso que apresenta conceitos introdutórios sobre como podemos trabalhar com debugging na linguagem Java.","archived":false,"fork":false,"pushed_at":"2024-07-31T02:27:48.000Z","size":43,"stargazers_count":1267,"open_issues_count":14,"forks_count":379,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-08T11:12:10.837Z","etag":null,"topics":["debug","debugging","eclipse","exception-handling","exceptions","intellij","java"],"latest_commit_sha":null,"homepage":"https://digitalinnovation.one/sign-in","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cami-la.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-05T13:42:45.000Z","updated_at":"2025-04-08T04:56:24.000Z","dependencies_parsed_at":"2024-09-26T05:32:16.084Z","dependency_job_id":null,"html_url":"https://github.com/cami-la/debugging-java","commit_stats":{"total_commits":18,"total_committers":1,"mean_commits":18.0,"dds":0.0,"last_synced_commit":"c9b14664d6d2e0eee2e70a3cd6d1ed15d5a74fd8"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cami-la%2Fdebugging-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cami-la%2Fdebugging-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cami-la%2Fdebugging-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cami-la%2Fdebugging-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cami-la","download_url":"https://codeload.github.com/cami-la/debugging-java/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254442854,"owners_count":22071878,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["debug","debugging","eclipse","exception-handling","exceptions","intellij","java"],"created_at":"2024-09-26T05:22:01.407Z","updated_at":"2025-05-16T00:07:33.998Z","avatar_url":"https://github.com/cami-la.png","language":"Java","readme":"\u003ch1\u003eDebugging Java\u003c/h1\u003e\n\u003cp\u003eCurso que apresenta conceitos introdutórios sobre como podemos trabalhar com debugging na linguagem Java. \nCurso este ministrado por mim em nome da \u003cstrong\u003e \u003ca href=\"https://web.digitalinnovation.one/home\"\u003e DIGITAL INNOVATION ONE  \u003c/a\u003e\u003c/strong\u003e 🧡💛 e disponibilizado de forma gratuita para a comunidade dos desenvolvedores Java.\n\n\u003ch2\u003e\n🛑 Pré-requistos\n\u003c/h2\u003e\n\n- [x] Java JDK 8 ou superior\n- [x] IDE para desenvolvimento Java\n\n\u003ch2\u003e 📚 Ementa\u003c/h2\u003e\n\u003col\u003e\n    \u003cli\u003eVisão Geral\u003c/li\u003e\n    \u003cli\u003ePilha de Execução de um programa Java\u003c/li\u003e\n\u003c/ol\u003e\n\n\u003ch2\u003eVisão Geral\u003c/h2\u003e\n\n\u003cp\u003eErros de programação são denominados bugs e o processo de encontrar e corrigir bugs é chamado de depuração ou debugging.\u003c/p\u003e\n\u003cp\u003eDe forma geral, a depuração é uma tarefa difícil e trabalhosa, e a dificuldade varia de acordo com o ambiente de desenvolvimento, o que inclui a linguagem de programação e as ferramentas disponíveis, como depuradores.\u003c/p\u003e\n\n\u003cp\u003eExistem duas grandes categorias que englobam a natureza do erro:\u003c/p\u003e\n\u003cul\u003e\n    \u003cli\u003e\u003ch3\u003eErros de Sintaxe:\u003c/h3\u003eÉ um erro nas regras estabelecidas da linguagem:\n        \u003col\u003e\n            \u003cli\u003eParênteses, chaves, colchetes que abrem mas não fecham.\u003c/li\u003e\n            \u003cli\u003eDuas instruções sem um ponto-e-vírgula entre elas;\u003c/li\u003e\n            \u003cli\u003eUma palavra-chave sendo usada numa posição inesperada.\u003c/li\u003e        \n        \u003c/ol\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ch3\u003eErros de Semântica:\u003c/h3\u003e  É um erro na \"lógica do código\", em sua semântica, o código está sintaticamente correto, porém não faz o que se esperava dele.\n        \u003col\u003e\n            \u003cli\u003eTentar dividir um número por uma String ou por zero.\u003c/li\u003e\n            \u003cli\u003eAtribuir um valor incoerente a um tipo de dado.\u003c/li\u003e\n            \u003cli\u003eTentar fechar um arquivo que não foi aberto.\u003c/li\u003e\n        \u003c/ol\u003e\n    \u003c/li\u003e\n\u003c/ul\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://media1.giphy.com/media/9o9dh1JRGThC1qxGTJ/giphy.gif?cid=ecf05e47e4eg6hhx3ku1sec3j55c616p31sgn63m6kf0kcmu\u0026rid=giphy.gif\u0026ct=g\" width=\"600\" height=\"400\"\u003e\n\u003c/div\u003e\n\n\u003ch2\u003eDepuração/Debugging\u003c/h2\u003e\n\u003cp\u003eLinguagens de alto nível tornam a depuração mais fácil, pois fornecem mais ferramentas para identificar erros, como o tratamento de exceções. \u003c/p\u003e\n\u003cp\u003eOs depuradores funcionam assumindo o controle do tempo de execução de um programa e permitindo que você o observe e controle. Para fazer isso, ele mostra a pilha do programa e permite que você a atravesse em qualquer direção. Quando você está em um depurador, obtém uma imagem mais completa de um quadro de pilha do que quando olha os rastreamentos de pilha em uma mensagem de log.\u003c/p\u003e\n\n\u003ch2\u003ePilha de Execução de um Programa Java/Stack Trace\u003c/h2\u003e\n\u003cp\u003e\u003ch3\u003ePilha de Execução:\u003c/h3\u003e Toda invocação de método é empilhada em uma estrutura de dados que isola a área de memória de cada um. Quando um método termina (retorna), ele volta para o método que o invocou.\u003c/p\u003e\n\u003cp\u003e\u003ch3\u003eStack Trace:\u003c/h3\u003e É a matriz onde encontramos a pilha de excecução da exceção. Em outras palavras, podemos dizer que o rastreamento da pilha busca (rastreio) para a próxima linha onde a exceção pode surgir.\u003c/p\u003e\n\n\u003ch2\u003e🔗 Links Úteis\u003c/h2\u003e\n\u003cul\u003e\n    \u003cli\u003ehttps://confluence.jetbrains.com/display/IntelliJIDEA/14.+Depurador\u003c/li\u003e\n    \u003cli\u003ehttps://www.eclipse.org/community/eclipse_newsletter/2017/june/article1.php\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003e🔎 Referências \u003c/h2\u003e\n\u003cul\u003e\n    \u003cli\u003ehttps://www.hostgator.com.br/blog/debug-desenvolvimento-web/\u003c/li\u003e\n    \u003cli\u003ehttps://www.alura.com.br/conteudo/java-excecoes\u003c/li\u003e\n    \u003cli\u003ehttps://pt.wikipedia.org/wiki/Depura%C3%A7%C3%A3o\u003c/li\u003e\n    \u003cli\u003ehttps://www.sentinelone.com/blog/java-stack-trace-understanding/\u003c/li\u003e\n    \u003cli\u003ehttps://www.caelum.com.br/apostila-java-orientacao-objetos/excecoes-e-controle-de-erros#exercicio-para-comecar-com-os-conceitos\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2\u003e✨ ️Redes Socias\u003c/h2\u003e\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://www.youtube.com/channel/UCqchrwxLd023IrA8KlCpH9g\"\u003eYouTube\u003c/a\u003e ▪️\n\u003ca href=\"https://www.instagram.com/estudant.i/\"\u003eInstagram 1\u003c/a\u003e ▪️\n\u003ca href=\"https://www.instagram.com/camimi_la/\"\u003eInstagram 2\u003c/a\u003e ▪️\n\u003ca href=\"https://www.linkedin.com/in/cami-la/\"\u003eLinkedIn\u003c/a\u003e\n\u003c/p\u003e\n\n\n\u003ch2\u003e 🤝 Contribuindo \u003c/h2\u003e\n\nEste repositório foi criado para fins de estudo, então contribua com ele.\nSe te ajudei de alguma forma, ficarei feliz em saber. E caso você conheça alguém que se identidique com o conteúdo, não deixe de compatilhar.\n\nSe possível:\n\n⭐️  Star o projeto\n\n🐛 Encontrar e relatar issues\n\n\n------------\n\nDisponibilizado com ♥ por [cami-la](https://www.linkedin.com/in/cami-la/ \"cami-la\").","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcami-la%2Fdebugging-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcami-la%2Fdebugging-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcami-la%2Fdebugging-java/lists"}