| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringssprog
  • Delphi programmering
  • Java programmering
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl programmering
  • Python Programming
  • Ruby Programming
  • Visual Basics Programmering
  •  
    Computer Viden >> Programmering >> Computer Programmeringssprog >> Content
    Sådan Detect Stack Overflow
    Computer programmeringssprog er afhængige af en kaldstakkens datastruktur --- nogle gøre sin tilstedeværelse eksplicit til programmøren , mens alle er afhængige af en stak for hopper programmet , der skal vende tilbage til det sted, hvor det oprindelige program slap efter have udført en slags underprogram. Før du overfører kontrollen til brugerkode sætter et program den maksimale størrelse for kaldstakkens bl.a. præparater. Undertiden et program afbryder på grund af en segmenteringsfejl , som kan være forårsaget af en række faktorer . Du kan nemt finde en stack overflow er roden af problemet ved at bruge en debugger . Ting du skal
    Kildekode for programmet
    Compiler for programmet
    Source -level debugger med understøttelse til visning af et backtrace
    Vis Flere Instruktioner
    1 < p> Genkompilering det program, der giver segmenteringsfejl så alle fejlsøgningssymboler er knyttet ind i det. For eksempel til en C + +-programmet på ethvert operativsystem med GNU suite af værktøjer , udføre : Hej

    " g+ + - g program.C - o -programmet "

    hvor " - g " valgmulighed instruerer compiler til at omfatte debugging symboler.
    2

    udføre programmet indtil den stopper på grund af en segmentering skyld. For eksempel , udføre : Hej

    "program"
    3

    Invoke debugger på programmet lige efter segmenteringsfejl . For eksempel , udføre : Hej

    " gdb -program "
    4

    Vis en backtrace bruge debugger . Alle kilde niveau debuggere har kapacitet til visning af kæden af indlejrede funktion invokationer på tidspunktet for programmets nedbrud . For vores " gdb " Skriv f.eks inside " gdb : "

    " backtrace "
    5

    Undersøg backtrace for tegn på en uendelig rekursion . Er en enkelt funktion navn gentages flere gange end nødvendigt inden styrtet ? Er et par funktionerne opkald hinanden (for eksempel gensidig rekursion ) for mange gange inden styrtet ? Hvis svaret på begge spørgsmål er " ja " programmet stoppet på grund af en stak overflow . Den mest sandsynlige årsag til stakken overløb på højt niveau sprog er forkert kodet basere sager.

    Forrige :

    næste :
      Relaterede artikler
    ·Sådan installeres QBasic 
    ·Sådan Lær User Interface Design 
    ·Sådan Konverter en liste til en DataTable 
    ·Computer Programmering Tips 
    ·Sådan Udskift en String AS2 
    ·Hvad er ulemperne ved en Query Processor 
    ·Sådan vises Næste og Forrige i ColdFusion 
    ·Sådan at uploade filer til en SQL database 
    ·Sådan Fortryd en Commit i Subversion 
    ·Hvordan til at læse indholdet af en tekstfil Brug VBSc…
      Anbefalede Artikler
    ·Sådan ændres Column Name i MySQL 
    ·Sådan vises MySQL data med PHP 
    ·Hvordan man programmerer en Bingo spil 
    ·Sådan opdaterer Joomla! K2 
    ·Sådan Indsæt en Java GUI 
    ·Sådan Flet et array ved hjælp QBasic 
    ·Oracle SQL Tutorial 
    ·Hvordan at skjule en kommandoknap i Visual C 
    ·Sådan kontrolleres , om en Textbox Input er numerisk i…
    ·Sådan ændres tekst på etiketter i Java 
    Copyright © Computer Viden http://www.computerdk.com