Programintrospektion

Felsökning (debugging)

När printf-felsökning inte räcker: använd en felsökare.

Debuggers låter dig interagera med körningen av ett program, så att du kan göra saker som:

GDB/LLDB

GDB och LLDB. Stödjer många C-liknande språk.

Låt oss titta på example.c. Kompilera med debug-flaggor: gcc -g -o example example.c.

Öppna GDB:

gdb example

Några kommandon:

PDB

PDB är Pythons felsökare.

Infoga import pdb; pdb.set_trace() där du vill hoppa in i PDB. Det är i praktiken en hybrid av felsökare (som GDB) och Python-skal.

Utvecklarverktyg i webbläsaren

Ytterligare ett exempel på en felsökare, denna gång med grafiskt gränssnitt.

strace

Observera systemanrop som ett program gör: strace {program}.

Profilering

Typer av profilering: CPU, minne, osv.

Enklaste profileraren: time.

Go

Kör testkod med CPU-profilerare: go test -cpuprofile=cpu.out

Analysera profil: go tool pprof -web cpu.out

Kör testkod med minnesprofilerare: go test -memprofile=mem.out

Analysera profil: go tool pprof -web mem.out

Perf

Grundläggande prestandastatistik: perf stat {command}

Kör ett program med profileraren: perf record {command}

Analysera profil: perf report


Edit this page.

Licensed under CC BY-NC-SA.