Отладка и трассировка

О структуре исполняемых файлов

ELF:

Что нужно для отладки

cc -O0 -g

GDB

* Выполнение

Интерфейсы для gdb

Strace

https://strace.io

ИРЛ:

Другие похожие инструменты

   1 #include<stdio.h>
   2 #define TELEPORT 12
   3 
   4 void f()
   5 {
   6     int j=20;
   7     int* a = &j;
   8     *(a+TELEPORT)+=7;
   9 }
  10 
  11 int main()
  12 {
  13     int i;
  14     i=20;
  15     printf("\n i = %d \n", i);
  16     f();
  17     printf("\n i = %d \n", i);
  18     return 0;
  19 }

Огороды памяти

Valgrind

https://valgrind.org

Утечка памяти не обязательно приводит к ошибке. Порча памяти, к сожалению, тоже.

Д/З

LecturesCMC/LinuxApplicationDevelopment2020/06_Debugging (last edited 2020-10-25 16:02:04 by FrBrGeorge)