Ik ben met een tutorial C en C++ voor Linux aan het instuderen.
Voor de moment ben ik aan het experimenteren met de debugger.
Mijn test programma noemt "reciprocal".
Om te debuggen moet je de optie "-g" geven bij gcc bij compileren.
Dan worden de functies zoals ze in je sourcecode staan ook in uw executable opgenomen zodat de debugger die kan tonen.
In dit programma is bewust een fout geprogrammeerd. (foutmelding bij oproepen van het programma zonder argumenten). Deze fout is om te illustreren.
Zie hieronder de uitvoer van GDB (debugger).
Probleem is de twee vraagtekens.
Dit moest "int main(int argc, char **argv)" geweest zijn IPV twee vraagtekens.
Waarom doet die debugger dat toch??
Ik had nochtans met de -g optie van GCC opgedragen de debug info en functies mee te geven.
Mijn programma is wel groter dan compileren zonder debug info maar toch wordt deze info niet zichtbaar gemaakt.
Voor de moment ben ik aan het experimenteren met de debugger.
Mijn test programma noemt "reciprocal".
Om te debuggen moet je de optie "-g" geven bij gcc bij compileren.
Dan worden de functies zoals ze in je sourcecode staan ook in uw executable opgenomen zodat de debugger die kan tonen.
In dit programma is bewust een fout geprogrammeerd. (foutmelding bij oproepen van het programma zonder argumenten). Deze fout is om te illustreren.
Zie hieronder de uitvoer van GDB (debugger).
code:
1
2
3
4
5
6
| (gdb) run Starting program: /home/peter/dls/C-tutorial_examples/chapter_1_ex1/reciprocal Program received signal SIGSEGV, Segmentation fault. 0xb7d5e87b in ?? () from /lib/tls/i686/cmov/libc.so.6 (gdb) |
Probleem is de twee vraagtekens.
Dit moest "int main(int argc, char **argv)" geweest zijn IPV twee vraagtekens.
Waarom doet die debugger dat toch??
Ik had nochtans met de -g optie van GCC opgedragen de debug info en functies mee te geven.
Mijn programma is wel groter dan compileren zonder debug info maar toch wordt deze info niet zichtbaar gemaakt.