Ik heb wat verduidelijking nodig over hoe GDB werkt in de IDE-omgeving op cloud9

Zijn er twee verschillende soorten debuggers die de IDE omgeving?

  • Debugger, via debug commando-invoer die kijkt of stap voor stap compilatie / invoer wordt gecontroleerd? (voor bronbestand)

  • GDB, dat het uitvoerbare programma controleert?

Ook, hoe geef je argumenten door in GDB? Ik kom hier niet uit.

Ik kijk naar pset4 en wil GDB uitvoeren op de uitvoerbare “kopie” en een invoer- en uitvoerbestandsnaam doorgeven

hoe zou ik dat doen in de terminal

EDIT

ook mijn debugger is ook altijd kapot

Antwoord

Gebruik de parameter –args om GDB met argumenten in de terminal uit te voeren.

gdb --args name arg1 arg2 arg3

debug50 (de grafische debugger) is gewoon GDB met een GUI. GDB is oorspronkelijk ontworpen om via de terminal te worden uitgevoerd, en is dat nog steeds. Het is veel flexibeler dan welke grafische debugger dan ook.

Hier volgen echter enkele basisprincipes:

  • Stap-voor-stap foutopsporing: next (or n)
  • Het instellen van een breekpunt wordt gedaan met break (or b) [function or line number], bijvoorbeeld:

    break main of break 20 waarbij “20” de regel is die moet worden afgebroken.

  • Start het programma met run (or r).

  • Gebruik continue or c om naar het volgende breekpunt te gaan.

  • Om een variabele binnen GDB af te drukken (niet met printf()) typ je print varname.

Als alternatief, nu u een paar commandos kent, kunt u uw programma met enkele argumenten uitvoeren met [r]un arg1 arg2 arg3.

Wat betreft uw problemen met debug50, het spijt me te moeten zeggen dat de voorganger van debug50 kapot was en het lijkt erop dat debug50 nu ook kapot is. Ik heb het in ieder geval nooit kunnen repareren.

Reacties

  • bedankt voor het zeer diepgaande antwoord !. Nog een andere vraag, is GDB voorgeïnstalleerd in sommige Linux Bash-omgevingen en misschien de Windows-opdrachtprompt?
  • GDB is voor zover ik weet voorgeïnstalleerd in elke Linux-distributie, en zeker in de meest populaire (arch, debian, ubuntu , enz..). Om het op Windows te krijgen, moet je misschien Cygwin of MinGW gebruiken (verzamelingen Linux / GNU / POSIX-tools en dergelijke), ik weet niet ' of de " officiële " download op de GDB-downloadpagina gnu.org/software/gdb ondersteunt eigenlijk windows, ik heb ' niet geprobeerd.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *