Eu tenho pontos de interrupção definidos, mas o Xcode parece ignorá-los.
xcode
breakpoints
AlanKley
fonte
fonte
Respostas:
Primeiro de tudo, eu concordo 100% com o pessoal anteriores que diziam transformar OFF
Load Symbols Lazily
.Tenho mais duas coisas a acrescentar.
(Minha primeira sugestão parece óbvia, mas a primeira vez que alguém sugeriu para mim, minha reação foi mais ou menos assim: "vamos lá, por favor, você realmente acha que eu não saberia melhor ...... oh.")
Certifique-se de não ter definido acidentalmente "Configuração de build ativa" como "Versão".
Em "Alvos" na exibição da árvore gráfica do seu projeto, clique com o botão direito do mouse no Alvo e selecione "Obter informações". Procure uma propriedade chamada "Generate Debug Symbols" (ou similar) e certifique-se de que esteja CHECKED (aka ON). Além disso, você pode tentar encontrar (também em Target >> Get Info) uma propriedade chamada "Debug Information Format" e defini-la como "Dwarf with dsym file".
Existem várias outras propriedades em Destino >> Obter Informações que podem afetá-lo. Procure coisas como otimizar ou compactar código e DESLIGUE essas coisas (presumo que você esteja trabalhando em modo de depuração, de modo que este não é um mau conselho). Além disso, procure itens como símbolos de remoção e certifique-se de que também esteja DESLIGADO. Por exemplo, "Strip Linked Product" deve ser definido como "No" para o destino de Depuração.
fonte
No Xcode 7, o que funcionou para mim foi:
1) Certifique-se de que o destino -> esquema -> Executar - está no modo de depuração (era Release)
2) Certifique-se de marcar a opção "Depurar executável" veja abaixo:
fonte
Vá para as preferências de depuração do Xcode. Certifique-se de que "Load Symbols lazily" NÃO esteja selecionado.
fonte
Eu estava tendo o mesmo problema (de novo). Depois de verificar três vezes "Carregar símbolos preguiçosamente" e remover e depurar sinalizadores de geração de informações, fiz o seguinte:
Você pode realizar a mesma tarefa no localizador clicando com o botão direito / opção no pacote .xcodeproj e selecionando "Mostrar conteúdo do pacote".
Quando reiniciei o Xcode, todas as minhas janelas foram redefinidas para as posições padrão, etc, mas os pontos de interrupção funcionaram!
fonte
Para Xcode 4.x: Vá para Product> Debug Workflow e desmarque "Show Disassembly When Debugging".
Para o Xcode 5.x, vá para Debug> Debug Workflow e desmarque "Show Disassembly When Debugging".
fonte
Outra razão
Definido
DeploymentPostprocessing
como NÃO em BuildSettings - detalhes aquiEm resumo -
fonte
YES
apenas no meusubproject
e os pontos de interrupção não funcionaramsubprojects
. E depois de definirNO
, ficou perfeito!Veja esta postagem: Breakpoints não funcionam no Xcode? . Você pode estar pressionando "Executar" em vez de "Depurar", caso em que seu programa não está sendo executado com a ajuda do gdb, caso em que você não pode esperar que os pontos de interrupção funcionem!
fonte
Uma das soluções possíveis para isso poderia ser .... vá para Produto> Esquema> Editar esquema> .. Em Executar> informações> Verificação de executável "Depurar executável".
fonte
Isso me deixou no Xcode 9 por meio dia frustrante. Acabou sendo uma configuração de depuração simples.
Vá em Debug> Debug Workflow e certifique-se de que 'Always Show Disassembly' está desativado. Simples assim. :(
fonte
Solução para mim com XCode 9.4.1 (não parou em nenhum ponto de interrupção):
Em Objetivo de compilação -> Configurações de compilação -> Nível de otimização: Mudou de "Otimizar para velocidade" -> "Sem otimização" (agora é mais lento, mas funciona)
fonte
O que resolveu no meu caso foi bem simples, em Xcode - Product - Clean Build Folder seguido de Product - Run (não o botão Play Xcode).
(Tive o problema no Xcode 11 -beta 4 depois de mudar para o teste de unidade com o botão de reprodução do Xcode pressionado)
fonte
Cheguei a esta página com o mesmo problema (o código C no Xcode 6 não para nos pontos de interrupção) e nenhuma das soluções acima funcionou (o projeto estava praticamente fora da caixa, em termos de configurações, tão pouca chance de qualquer uma das configurações do depurador ser definido com o valor errado) ...
Depois de perder algum tempo reduzindo o problema, finalmente descobri o culpado (para o meu código):
Xcode (/ LLVM) não gosta do estilo Bison
#line
comandos de pré processador do .Removê-los corrigiu o problema (o depurador parou em meus pontos de interrupção).
fonte
Para Xcode 4:
fonte
Tenho muitos problemas com pontos de interrupção no Xcode (2.4.1). Eu uso um projeto que contém apenas outros projetos (como uma solução no Visual Studio). Às vezes, acho que os pontos de interrupção não funcionam, a menos que haja pelo menos um ponto de interrupção definido no projeto inicial (ou seja, aquele que contém o ponto de entrada do meu código). Se os únicos pontos de interrupção estiverem em projetos de "nível inferior", eles serão ignorados.
Também parece que o Xcode só lida com operações de ponto de interrupção corretamente se você agir no ponto de interrupção quando estiver no projeto que contém a linha de origem do ponto de interrupção.
Se eu tentar excluir ou desabilitar pontos de interrupção por meio de outro projeto, a ação às vezes não tem efeito, mesmo que o depurador indique que sim. Portanto, vou acabar quebrando em pontos de interrupção desativados ou em um ponto de interrupção (agora invisível) que removi anteriormente.
fonte
Meus pontos de interrupção não funcionaram e, em seguida, fiz Build / Clean All Targets para fazê-los funcionar novamente.
fonte
Acho que o problema pode ser incompatibilidade entre as versões do dispositivo e o Xcode. Tenho esse problema ao tentar depurar no meu iPhone 4S executando o iOS 5.0.1. Ainda estou usando o Xcode 3.2.5. Peguei os símbolos do aparelho selecionando "usar este dispositivo para desenvolvimento" na janela do Organizer. No entanto, este telefone se recusa a fazer um breakpoint Meu antigo 3GS vai quebrar, mesmo projeto Xcode, mesmas configurações ... apenas um dispositivo diferente e está rodando iOS 4.0. Acho que esse é um bug do Xcode no 3.2.5, já que tenho os símbolos. Tendo tentado todas as soluções postadas aqui até agora, decidi que a solução para meu problema é ir em frente e atualizar para o XCode 4. Talvez você não possa depurar com eficácia, a menos que seu SDK base seja pelo menos tão alto quanto o sistema no qual depurar. Talvez isso seja óbvio - alguém pode confirmar?
Edit: Vou atualizar quando puder confirmar que isso é verdade.
fonte
Excluir minha pasta Build resolveu o problema para mim.
fonte
Aconteceu a mesma coisa comigo no XCode 6.3.1. Consegui consertar:
Depois de fazer essa alteração, defino as opções de Mover pontos de interrupção de volta para o projeto e desmarco Compartilhar pontos de interrupção opção , e ainda funciona.
Eu não sei exatamente por que, mas isso recupera meus pontos de interrupção.
fonte
Para isso, e também para o Xcode 6 e acima, certifique-se de que o botão de estado do ponto de interrupção esteja ativado (o botão em forma de seta azul):
fonte
No Xcode 4
fonte
Eu encontrei o problema. De alguma forma, o " Show Disassembly when debugging " foi habilitado no meu XCode, o que cria esse problema. Quando o desativei, todo o meu depurador parou no meu código-fonte.
Você pode encontrá-lo em:
Product->Debug Workflow->Show Disassembly
ao depurar.fonte
Você pode ativar / desativar pontos de interrupção no menu suspenso
fonte
Se tudo mais falhar, em vez de um ponto de interrupção, você pode chamar a seguinte função:
Para retomar, defina manualmente i para zero e, em seguida, pressione o botão Continuar.
fonte
Eu tentei todas as coisas acima, mas para mim apenas desativar os pontos de interrupção de depuração uma vez e, em seguida, ativá-los funcionou.
fonte
Ao definir o seu ponto de interrupção, clique com o botão direito e você deverá obter várias opções sobre como o ponto de interrupção é tratado (registrar vars e continuar, pausar a execução, etc)
Além disso, certifique-se de que a opção "Carregar símbolos lentamente" não esteja selecionada nas preferências de depuração.
(Aplica-se ao Xcode 3.1, não tenho certeza sobre versões anteriores / futuras)
fonte
Certifique-se também de que a distribuição AppStore do aplicativo não está instalada no dispositivo.
fonte
Outra coisa a verificar é se você tiver um arquivo plist "Direitos" para o seu modo de depuração (possivelmente porque você está fazendo coisas com o Keychain), certifique-se de que o arquivo plist tenha a linha "get-task-allow" = YES. Sem ele, a depuração e o registro serão interrompidos.
fonte
Parece haver 3 estados para os pontos de interrupção no Xcode. Se você clicar neles, eles passarão por diferentes configurações. O azul escuro está ativado, o acinzentado está desativado e às vezes vejo um azul claro que exigia que eu clique no ponto de interrupção novamente para que ele mude para a cor azul escuro.
Além disso, certifique-se de iniciá-lo com o comando debug e não com o comando run. Você pode fazer isso clicando em opção + comando + retorno ou na opção Ir (depurar) no menu Executar.
fonte
Eu tenho Xcode 3.2.3 SDK 4.1 Breakpoints falharão aleatoriamente. Eu descobri que se você limpar o build e usar o comando touch no build, eles funcionam novamente.
fonte
Aqui está um obscuro que encontrei: se você estiver trabalhando em uma biblioteca compartilhada (ou um plug-in), seus pontos de interrupção ficarão amarelos na inicialização, o que pode fazer com que você martele seu teclado de frustração e interrompa o processo de depuração. Bem, não faça isso! Os símbolos não serão carregados até que o aplicativo carregue a biblioteca, ponto em que os pontos de interrupção se tornarão válidos. Eu tive este problema com um plugin do navegador ... BPs foram desativados até que eu naveguei para uma página que instanciou meu plugin.
fonte