LU-LSP-b11:L11
gdb lietošana
Kods:
#include <stdio.h> #include <memory.h> #include <stdlib.h> #include <unistd.h> char string[] = "hello world 1234567890"; int crash(int *pi) { *pi = 0x1; } int f(void) { crash(NULL); } int main() { f(); printf("%s\n", string); return 0; }
Makefile:
all: gcc -g a.c -o pd11
Lietošana:
gdb ./pd11 run continue break <address> print <variable> set <variable> next step
valgrind lietošana
valgrind --leak-check=full ./pd11
valgrind --tool=callgrind ./pd11
Tiks izveidots šāds fails: callgrind.out.<pid>, kur <pid> ir programmas ID. Pēc tam to var skatīties ar:
kcachegrind callgrind.out.6413