Se um breakpoint se transformar em um círculo cinza não preenchido no VS Code no seu Mac, significa que o depurador não conseguiu registrá-lo. Comece verificando se a linha pode ser executada e se o depurador ativo suporta esse arquivo. Em seguida, confirme se a sessão de depuração está executando o código que você está editando. O indicador por si só não identifica qual causa se aplica; esta sequência ajuda a restringir as possibilidades sem tentar adivinhar uma solução universal. O guia de depuração do VS Code descreve o círculo não preenchido e suas causas comuns.

Confirme qual estado de breakpoint você está vendo

Um círculo vermelho preenchido é um breakpoint ativado; um círculo cinza preenchido está desativado. Um círculo cinza não preenchido significa que o depurador não conseguiu registrar o breakpoint. A documentação do VS Code aponta dois motivos comuns: a linha não contém código executável ou o depurador não oferece suporte a esse arquivo de origem. Breakpoints que não podem ser registrados também podem aparecer como círculos não preenchidos quando uma sessão é iniciada; alterações no código-fonte durante uma sessão sem suporte a edições em tempo real podem causar o mesmo indicador. O comportamento exato pode variar conforme a linguagem e a extensão do depurador.

No macOS, abra Executar e Depurar com Shift–Command–D. Na seção BREAKPOINTS, localize a entrada correspondente e confirme se ela está ativada. Essa visualização permite gerenciar breakpoints, mas não explica por si só o motivo de um depurador ter rejeitado um deles. Mantenha o editor aberto na linha marcada para que você possa comparar a localização do código-fonte com o arquivo que a sua sessão está usando. VS Code: Debug code

Verifique se a linha pode ser executada

Mova o breakpoint para uma linha que execute uma ação, como uma instrução dentro de uma função, em vez de uma linha em branco, comentário ou chave. Um breakpoint só é útil onde o depurador consegue interromper a execução. Se o marcador substituto se tornar um círculo vermelho preenchido após o início da sessão, é provável que a linha original não contivesse código executável. Esta é uma inferência diagnóstica a partir do comportamento documentado, não uma garantia: o suporte e a vinculação de breakpoints dependem do depurador e da linguagem.

Se o código for gerado, transpilado, empacotado (bundled) ou diferir de alguma outra forma do arquivo que o programa em execução executa, o depurador pode precisar de source maps ou de outra configuração específica da linguagem para conectar a localização no editor ao código em tempo de execução. O guia geral do VS Code não prescreve uma configuração universal para essa situação. Verifique a documentação da extensão do depurador e da configuração de build que você usa antes de alterar as configurações de mapeamento.

Verifique o depurador ativo e a sessão

O VS Code inclui suporte integrado de depuração para JavaScript, TypeScript e Node.js. Outras linguagens e ambientes de execução geralmente precisam de uma extensão de depurador apropriada. Confirme se a extensão relevante está instalada e ativa, e inicie uma sessão para a linguagem ou runtime correspondente. Se o VS Code solicitar que você selecione um depurador, escolha aquele que corresponde ao programa que pretende executar. A documentação de uma extensão define seus arquivos de origem suportados, o comportamento dos breakpoints e as opções de inicialização. VS Code: Debug code

Pressione F5 para iniciar a depuração ou use Executar e Depurar para selecionar uma configuração. Um programa simples pode ser executado a partir do arquivo ativo, mas uma aplicação com um ponto de entrada específico, argumentos, variáveis de ambiente ou alvo para anexação (attach target) pode precisar de uma configuração no launch.json. Para uma configuração de anexação, certifique-se de que o processo de destino já esteja sendo executado em modo de depuração e que os detalhes de conexão correspondam. Um breakpoint posicionado corretamente em um arquivo diferente do código-fonte carregado pelo programa pode permanecer não verificado. VS Code: Configure debugging

Isole a causa com uma sequência curta

Siga esta ordem, alterando uma coisa de cada vez para que o resultado seja esclarecedor:

  1. Em BREAKPOINTS, verifique se o breakpoint está ativado e anote seu arquivo e linha.
  2. Mova-o para uma instrução executável nesse arquivo.
  3. Inicie a configuração de depuração desejada com F5 e veja se o marcador é registrado.
  4. Se continuar não preenchido, verifique se o depurador selecionado suporta o arquivo e se a extensão correspondente está instalada e ativa.
  5. Verifique se a configuração inicializa ou anexa ao programa compilado a partir do código-fonte que você está visualizando. Revise seu ponto de entrada, diretório de trabalho e qualquer tarefa de build ou pré-inicialização relevante para o seu projeto.
  6. Se a aplicação transforma o código-fonte, consulte as instruções do depurador da linguagem sobre como mapear arquivos do editor para o código em tempo de execução.

Uma verificação bem-sucedida não prova que todos os breakpoints em um projeto sejam válidos; repita a verificação no local de origem específico. Se o depurador relatar um erro de configuração ou de registro, use essa mensagem e a documentação da extensão para orientar a próxima alteração. Evite copiar configurações de um depurador diferente: o VS Code destaca que as propriedades de configuração e os recursos dependem do depurador selecionado e do tipo de solicitação. VS Code: Configure debugging

O que o indicador pode e não pode lhe dizer

O círculo não preenchido indica que o depurador não registrou aquele breakpoint. Ele não consegue, por si só, diferenciar uma linha não executável de um arquivo de origem sem suporte, de uma discrepância entre o código do editor e o do runtime, ou de outras limitações específicas do depurador. O próximo passo mais útil é testar uma linha claramente executável na sessão pretendida e, em seguida, verificar o depurador e o mapeamento de origem se o registro ainda falhar. No Mac, os controles principais continuam sendo a calha do editor do VS Code, a visualização Executar e Depurar, F5 e Shift–Command–D; soluções específicas do depurador devem ser obtidas na documentação da extensão ou do runtime.

Fontes