C Again

Sekcia: Programovanie 01.05.2006 | 23:16
Avatar Quohelet Suse 9.2  Používateľ
Nazdar, neviete nahodou, co je segmentation error? Napisal som si zdrojak v C-cku, skompiloval ho v Lin (gcc -o zpe1 zpe1.c -lm), ale ked to chcem spustit (./zpe1.c), tak vyhodi:Chyba po nacitani suboru a este ze chyba segmentacie. Viete niekto, ako sa v Lin debuguju C-ckovske programy? Dik za odp.
    • Re: C Again 30.03.2006 | 10:15
      Avatar titanik mint  Používateľ
      spustis to ./zpe1
    • Re: C Again 30.03.2006 | 12:14
      m0d0r   Návštevník
      ;D no ak si robis ako output taky isty subor ako input tak mas vela prepisovania vsak ;D. No a debuguje as cez gdb http://www.gnu.org/software/gdb/ ale nezabudni si program vykompilovat z debug imformaciami ;D sami zda gcc -g3 ;D
    • Re: C Again 30.03.2006 | 15:19
      matelo   Návštevník
      no segmentation fault je chyba pristupu do pamati...myslim. na testovanie tohto je dobry napr valgrind
    • Re: C Again 01.05.2006 | 23:16
      Avatar uid0 Debian  Používateľ
      pochybujem, ze tu dotycny caka na odpoved, ale mozno to niekedy niekomu pomoze :) 1. mozes to skompilovat s informaciami pre debugger
      gcc -o zpe1 zpe1.c -lm -g3
      2. spusti
      gdb zpe1
      3. zdaj
      run
      ked nastane segmentation fault, zadaj
      bt
      (to je skratena forma prikazu backtrace). ukaze sa ti vypis volanych funkcii az po tu co sposobila chybu (pravdepodobne bude v kniznici libc). zda sa, ze je to len jednoduchy program, cize by ti to na najdenie chyby malo stacit aj bez informacii pre debugger (uz vies v ktorej tvojej funkcii je chyba, a aka funkcia kniznice ju sposobila). manual k debuggeru si mozes prezriet
      info gdb
      dobry zaciatok k pouzivaniu debuggera je v knihe Running Linux z vydavatelstva O'Reilly este nieco - ak ti bezi midnight commander, tak ho vypni pred pouzitim gdb.
      Debian. apt-get into it…