| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> Computer Programming Languages >> Content
    Come rilevare Stack Overflow
    linguaggi di programmazione informatica si basano su una struttura dati stack di chiamate --- alcuni fanno la propria presenza esplicita al programmatore , mentre tutti si basano su una pila per salti di programma che deve tornare al luogo in cui il programma originale era interrotto dopo aver eseguito un qualche tipo di subroutine . Prima di trasferire il controllo al codice utente , un programma imposta la dimensione massima per lo stack di chiamate , tra le altre preparazioni . Talvolta un programma interrompe a causa di un errore di segmentazione , che può essere causato da una varietà di fattori . Si può facilmente rilevare un overflow dello stack è alla radice del problema utilizzando un debugger . Cose che ti serviranno
    codice sorgente per il programma
    compilatore per il programma
    livello Fonte debugger con il supporto per la visualizzazione di un backtrace
    Mostra più istruzioni
    1 < p > ricompilare il programma che sta dando l' errore di segmentazione in modo che tutti i simboli di debug sono collegati in esso. Ad esempio, per un programma C + + su qualsiasi sistema operativo con la suite di strumenti di GNU , eseguire : opzione

    " g+ + - g programma program.c -o "

    dove il " - g" indica al compilatore di includere i simboli di debug .
    2

    Eseguire il programma fino a quando non si blocca a causa di un errore di segmentazione . Per l'esempio , eseguire :

    " programma "
    3

    Invoca il debugger sul programma subito dopo l' errore di segmentazione . Per l'esempio , eseguire :

    " programma gdb "
    4

    Visualizzare un backtrace utilizzando il debugger . Tutti i debugger a livello di sorgente hanno la capacità di visualizzare la catena di invocazioni di funzioni annidate al momento del crash programma . Per il nostro esempio " gdb " , entrare dentro " gdb : "

    " backtrace "
    5

    Esaminare il backtrace per i segni di una ricorsione infinita . È un singolo nome di funzione ripetuto più volte di quanto necessario, prima del crollo ? Sono alcune funzioni di chiamata tra loro ( per esempio , la ricorsione mutua ) troppe volte prima del crollo ? Se la risposta a entrambe le domande è "sì", il programma interrotto a causa di un overflow dello stack . La causa più probabile di overflow dello stack in linguaggi di alto livello sono codificati in modo non corretto i casi di base .

    Previous :

    next :
      Articoli Correlati
    ·Come convertire i caratteri non-ASCII in Python 
    ·Come convertire DataTable alle stringhe 
    ·Che cosa è l'espressione Tagged 
    ·Come aggiornare Python alla 2.6 
    ·Analisi Numerica Casuale 
    ·Come scelte di programma in un file batch 
    ·Come compilare un programma C utilizzando il compilator…
    ·Come costruire un parco giochi Skate 
    ·Come programmare in MIPS 
    ·Come costruire Commento pagine Web con Visual Studio 
      Articoli in evidenza
    ·Tipi di MANET protocolli 
    ·Come utilizzare SQL con Java 
    ·Come arrotolamento di una funzione in MATLAB 
    ·Come verificare se il ResultSet è null 
    ·Come utilizzare una route statica persistente 
    ·Come nascondere da Class in JavaScript 
    ·Come cambiare sfondo del desktop con VB.NET 
    ·Come rimuovere punteggiatura in una stringa Java 
    ·Come decodificare stringhe binarie 
    ·Come utilizzare QBasic di Scrivere a Port 
    Copyright © Conoscenza Informatica http://it.wingwit.com