Fish Shell:
Att använda en debugger

Hur man gör:

Fish har inte en inbyggd debugger som vissa andra skal, men du kan använda externa verktyg som gdb för att debugga kompilerade program eller fish -d för att köra fish med debug-utdata på olika nivåer. Låt oss köra med fish -d:

# Kör fish shell med debug-nivå 2
fish -d2

# I fish skalet, låt oss testa en enkel funktion med en potentiell bugg
function test_func
    set val 42
    echo "Värdet är $val"
    if test $val -eq 42
        echo "Allt är väl."
    else
        echo "Något är fiskigt."
    end
end

# Anropa funktionen och observera debug-utdatan
test_func

Du skulle se extra debug-utdata före och efter att funktionen körs, vilket hjälper dig att peka ut problem.

Fördjupning

Historiskt sett har felsökning i Unix-liknande miljöer varit en domän för specialiserade verktyg som gdb för C/C++ eller pdb för Python. I Fish är du oftast beroende av externa verktyg eller inbyggda funktioner som functions -v för utförlig utdata av funktioner och set -x för att spåra variabeländringar.

Vissa väljer alternativa skal som Bash på grund av funktioner som set -x för att debugga skript. Dock har Fish sin charm med fokus på användarvänlighet och interaktivitet, vilket kan reducera behovet av hård felsökning i många fall.

När det gäller implementeringen, involverar felsökning av ett skript ofta att köra det med utförlig utdata och spåra var variabler sätts, avsätts eller ändras på oväntade sätt. Med Fishs färgkodade utdata och användarvänliga tillvägagångssätt kan du ofta undvika det trassliga i felsökningen – men när du är fast, kom ihåg att utförlighet och tydlighet är dina bästa verktyg.

Se också

Här är några pålitliga livlinor för när du är upp över öronen i kod: