4
respostas

Atalho F8 ao debugar

Estou tentando debugar o seguinte código no IntelliJ:

        linhas.forEach(linha -> {
            String[] palavras = linha.split(",");
            if (!linha.isEmpty()) {
                Double valor = Double.valueOf(palavras[0]);
                String descricao = palavras[1];
                Tipo tipo = Tipo.valueOf(palavras[2]);
                Pagamento pagamento = new Pagamento(tipo, valor, descricao);
                pagamentos.add(pagamento);
            }
        });

Ao entrar nele (com o F7), e tentar rodar cada linha individualmente (com F8), ele não considera o forEach e vai direto para a próxima linha além do trecho mencionado acima.

Sabem se possui alguma configuração que devo fazer no IntelliJ para debugar linha a linha dentro do forEach?

4 respostas

Oi Thiago

Não sei se entendi muito bem sua dúvida, mas debugando com o F8 no IntelliJ o cursor de debug passa linha a linha do forEach

Então, Otávio, no curso "melhorando a produtividade com IntelliJ", o instrutor consegue depurar cada linha desse lambda mencionado acima.

Sabe me dizer se há alguma configuração para fazer essa depuração?

Você pode utilizar duas abordagens, tente marcar o breakpoint dentro do foreach e com o F8 conseguirá percorrer todas as linhas. Pressionar o F7 duas vezes o compilador está acessando a implementação do foreach.

Quando paramos em uma linha que contém um lambda, se pressionarmos F7(Step into), o IntelliJ destacará qual será o trecho a ser depurado. Podemos mudar o bloco de código a ser depurado com a tecla "Tab", uma vez que decidimos, clicamos F7 novamente.

1- Pressione a tecla F7 para exibir os destaques (ou modo de seleção)

2- Use "Tab" várias vezes para selecionar o trecho a ser depurado

3- Pressione a tecla F7 para entrar no trecho desejado