diff options
Diffstat (limited to 'tde-i18n-da/docs/kdevelop/kdevelop/debugger.docbook')
-rw-r--r-- | tde-i18n-da/docs/kdevelop/kdevelop/debugger.docbook | 337 |
1 files changed, 337 insertions, 0 deletions
diff --git a/tde-i18n-da/docs/kdevelop/kdevelop/debugger.docbook b/tde-i18n-da/docs/kdevelop/kdevelop/debugger.docbook new file mode 100644 index 00000000000..e1bd88c144b --- /dev/null +++ b/tde-i18n-da/docs/kdevelop/kdevelop/debugger.docbook @@ -0,0 +1,337 @@ +<chapter id="debugger"> +<title +>Fejlsøgergrænsefladen</title> +<indexterm zone="debugger" +><primary +>fejlsøgere</primary +></indexterm> + +<para +>&kdevelop; indeholder en intern fejlsøger for C og C++, som er direkte integreret med editoren. Teknisk set er den implementeret som en grænseflade som bruger den flytbare &GNU;-fejlsøger <application +>gdb</application +> via en pipe. Fejlsøgeren kan startes på flere måder: </para> + +<itemizedlist> +<listitem> +<para +>Hovedprogrammet i projektet indlæses i fejlsøgeren med <menuchoice +><guimenu +>Fejlsøg</guimenu +><guimenuitem +>Start</guimenuitem +></menuchoice +>. </para> +</listitem> + +<listitem> +<para +>Ved at bruge <menuchoice +><guimenu +>Fejlsøg</guimenu +> <guimenuitem +>Start (andet)</guimenuitem +> <guimenuitem +>Undersøg hukommelsesdump</guimenuitem +></menuchoice +>, indlæser du et hukommelsesdump til hukommelsen, som blev lavet af operativsystemets kerne da programmet brød sammen. (At lave hukommelsesdump kan være slået fra på systemet, se <application +>ulimit(1)</application +>). Dette er nyttigt for en post-mortem analyse af et program. </para> +</listitem> + +<listitem> +<para +>Du starter fejlsøgeren for et program som allerede kører med <menuchoice +><guimenu +>Fejlsøg</guimenu +><guimenuitem +>Start (andet)</guimenuitem +> <guimenuitem +>Forbind til proces</guimenuitem +></menuchoice +>. En procesliste vises hvor du kan vælge processen som fejlsøgeren skal overtage. </para> +</listitem> + +<listitem> +<para +>Bemærk at fejlsøgning kun er mulig hvis projektet er kompileret med fejlsøgningsinformation aktiveret. Den kan aktiveres i dialogen <guibutton +>Oversætterindstillinger</guibutton +>. Når dette er aktiveret, laver oversætteren yderligere informationer som lader fejlsøgeren associere filnavne og linjenumre med adresser i det kørbare program. </para> +</listitem> +</itemizedlist> + +<para +>Grænsefladen til fejlsøgeren tilbyder flere visninger <quote +>ind i</quote +> processen: </para> + +<para +>Hvis du forsøger at fejlsøge et projekt uden fejlsøgningsinformation, får du meddelelsen <computeroutput +>Ingen kildekode...</computeroutput +> i statuslinjen. Hvis du forsøger at sætte stoppunkter, vises de som <computeroutput +>Hvilende (tilføj)</computeroutput +> i stoppunktsvinduet (se nedenfor). </para> + +<variablelist> +<varlistentry> +<term +>Variabler</term> +<listitem> +<indexterm zone="debugger" +><primary +>overvågningsvariabler</primary +></indexterm> +<para +>Dette vindue viser værdier for alle lokale variabler på det nuværende sted i programmet. Det dækker variablerne i oversætterens kaldstak, &ie; funktionen hvor processen blev afbrudt, funktionen som kaldte denne funktionen, og så videre hele vejen til funktionen <function +>main()</function +>. </para> + +<para +>En anden gren i variabelvinduet indeholder overvågningsvariabler. Du kan selv indstille hvilke variabler som ses her. Både lokale og globale variabler kan overvåges. Du kan enten tilføje en variabel ved at klikke på knappen <guibutton +>Tilføj</guibutton +> eller trykke på returtasten når punktet <keycap +>Overvåg</keycap +> er markeret. Variablerne kan fjernes igen med den sammenhængsafhængige menuen. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Rammestak</term> +<listitem> +<indexterm zone="debugger" +><primary +>rammestak</primary +></indexterm> +<para +>(... endnu ikke skrevet ...) </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Stoppunkter</term> +<listitem> +<indexterm zone="debugger" +><primary +>stoppunkter</primary +></indexterm> +<para +>Vinduet lader dig se og behandle stoppunkterne. Husk at &kdevelop; bruger <application +>GDB</application +>, så for at forstå &kdevelop;s fejlsøgningsfunktioner fuldstændigt, skal du vide en lille smule om <ulink url="http://www.gnu.org/software/gdb" +>GDB</ulink +>. </para> + +<para +>Hvis du vil kigge på kildekoden, defineres stoppunkter i <filename +>kdevelop/languages/cpp/debugger/breakpoint.h</filename +>. </para> + +<para +>I venstre kant har vinduet knapper for at:</para> + +<itemizedlist> +<listitem +><para +>Tilføj et tomt breakpoint</para +></listitem> +<listitem +><para +>Redigér det markerede stoppunkt</para +></listitem> + <listitem +><para +>Sletter det valgte breakpoint</para +></listitem> +<listitem +><para +>Fjern alle breakpoints</para +></listitem> +</itemizedlist> + +<para +>Hoveddelen af vinduet er en tabel med syv søjler. Hver linje i tabellen er et stoppunkt. Søjlerne er:</para> + +<orderedlist> +<listitem +><para +>Markeringsafkrydsningsfelt</para +></listitem> +<listitem +><para +>Type: en af: Ugyldig, Fil:Linje, Overvågningspunkt, Adresse, Funktion</para +></listitem> +<listitem +><para +>Status. Værdierne er:</para> +<itemizedlist> + <listitem +><para +>Aktiv</para +></listitem> + <listitem +><para +>Deaktiveret: Hvert stoppunkt kan <quote +>aktiveres</quote +> eller <quote +>deaktiveres</quote +>. Hvis det er deaktiveret har det ingen effekt på programmet indtil det aktiveres igen.</para +></listitem> + <listitem +><para +>Hvilende (tilføj): En stoppunkt er markeret sådan her hvis ingen fejlsøgningsinformation er tilgængelig. Fra GDB's informationsside: <blockquote +><para +>Hvis et specificeret stoppunktssted ikke kan findes, kan det skyldes det faktum at stedet er i et delt bibliotek som endnu ikke er indlæst. I et sådant tilfælde, kan du ville at GDB laver et specielt stoppunkt (kendt som et <quote +>hvilende stoppunkt</quote +>) som forsøger at løse sig selv op i fremtiden når et passende delt bibliotek indlæses.</para +></blockquote +> </para +></listitem> +</itemizedlist> +</listitem> +<listitem +><para +>Hvilende (rydning)</para +></listitem> +<listitem +><para +>Hvilende (ændring)</para +></listitem> +<listitem +><para +>Sted på formatet filnavn:linjenummer</para +></listitem> +<listitem +><para +>Betingelse</para +></listitem> +<listitem +><para +>Ignorér antal: Hvis det er et tal <varname +>ANTAL</varname +> større end nul, stoppes programmets kørsel ikke før følgende <varname +>ANTAL</varname +> gange som stoppunktet nås. Udover at mindske antallet at ignorere, udfører <application +>gdb</application +> ingen handling.</para +></listitem> +<listitem +><para +>Træffere: Regner ud hvor mange gange et stoppunkt er truffet.</para +></listitem> +</orderedlist> + + +</listitem> +</varlistentry> + +<varlistentry> +<term +>Vis assemblerkode</term> +<listitem> +<indexterm zone="debugger" +><primary +>vis assemblerkode</primary +></indexterm> +<para +>(... endnu ikke skrevet ...)</para> + +</listitem> +</varlistentry> +</variablelist> + + +<sect1 id="settingbreakpoints"> +<title +>Sæt stoppunkter</title> + +<para +>(... endnu ikke skrevet ...) </para> + +</sect1 +> <!-- settingbreakpoints --> + +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + +<sect1 id ="debuggeroptions"> +<title +>Tilvalg</title> + +<variablelist> +<varlistentry> +<term +>Vis behandlede navne</term> +<listitem> +<indexterm zone="debugger" +><primary +>navnebehandling</primary +></indexterm> +<indexterm zone="debugger" +><primary +>behandling</primary +><secondary +>navn</secondary +></indexterm> + +<para +>Funktionsnavne i det kørbare program er <quote +>behandlede</quote +> for C++, &ie; funktionsnavnet indeholder information om argumenternes typer. Dette er nødvendigt for at støtte overbelastede funktioner. Behandlingsalgoritmen er ikke standardiseret, og adskiller sig til og med mellem forskellige udgaver af &GNU;'s C++ oversætter. </para> + +<para +>I assemblerkodevinduet vises normalt ubehandlede navne, så funktionssignaturer ligner udseendet i kildekoden, og er let læsbare. Alternativt, kan du vælge at se behandlede navne. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Forsøg at sætte stoppunkter når biblioteker indlæses</term> +<listitem> +<indexterm zone="debugger" +><primary +>dovne stoppunkter</primary +></indexterm> +<indexterm zone="debugger" +><primary +>stoppunkter</primary +><secondary +>doven</secondary +></indexterm> + +<para +>Fejlsøgerens baggrundsprogram <application +>gdb</application +> tillader ikke at stoppunkter sættes i kode som ikke for øjeblikket er indlæst. I et rigtigt modulært program, hvor kode ofte kun indlæses efter behov såsom plugin (med brug af C-bibliotekets funktion <function +>dlopen(3)</function +>), kan dette være besværligt. Derfor håndterer &kdevelop; selv støtte for stoppunkter i delte biblioteker. Hvis du aktiverer dette, kan du sætte stoppunkter i biblioteker som ikke er indlæst. Derefter, så snart <application +>gdb</application +> fortæller at et bibliotek er indlæst, forsøger &kdevelop; at sætte de hvilende stoppunkter. </para> +</listitem> +</varlistentry> + +<varlistentry> +<term +>Aktivér flydende værktøjslinje</term> +<listitem> +<indexterm zone="debugger" +><primary +>fejlsøgningsværktøjslinje</primary +></indexterm> +<indexterm zone="debugger" +><primary +>værktøjslinje</primary +><secondary +>fejlsøger</secondary +></indexterm> + +<para +>(... endnu ikke skrevet ...) </para> +</listitem> +</varlistentry> +</variablelist> + +</sect1 +> <!-- debuggeroptions --> + +</chapter +> <!-- debugger --> |