| Casa | Hardware | Redes | Programación | software | Criticar | Sistemas |   
Programación  
  • C /C + + Programming

  • Lenguajes De Programación

  • Delphi Programación

  • Programación Java

  • JavaScript Programación

  • Programación PHP /MySQL

  • Perl Programming

  • Python Programming

  • Rubí Programación

  • Visual Basics Programación
  •  
    Conocimientos Informáticos >> Programación >> Lenguajes De Programación >> Content
    Cómo detectar desbordamiento de pila
    Lenguajes de programación se basan en una estructura de datos llamada pila --- algunos hacen su presencia explícita para el programador, mientras todos se basan en una pila para saltos de programa que debe volver al lugar donde el programa original fue apagado después de haber ejecutado algún subprograma. Antes de transferir el control al código de usuario , un programa establece el tamaño máximo de la pila de llamadas , entre otras preparaciones . A veces un programa aborta debido a un fallo de segmentación , que puede ser causada por una variedad de factores . Usted puede detectar fácilmente un desbordamiento de pila está en la raíz del problema mediante el uso de un depurador. Cosas que necesitará
    El código fuente para el programa de descarga Compiler para el programa de descarga depurador a nivel de fuente con soporte para la visualización de un backtrace
    Ver Más instrucciones
    1 < p> Vuelva a compilar el programa que está dando el fallo de segmentación para que todos los símbolos de depuración están vinculados a ella. Por ejemplo , para un programa de C + + en cualquier sistema operativo con el conjunto de herramientas GNU , ejecutar : en opcion a Compra

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

    la " g " instruye al compilador que incluya símbolos de depuración .
    2

    Ejecutar el programa hasta que se detenga debido a un fallo de segmentación . Por ejemplo, ejecute:

    " programa "
    3

    Invocar el depurador en el programa después de la avería de la segmentación . Por ejemplo, ejecute:

    " programa gdb "
    4

    Muestra una traza utilizando el depurador. Todos los depuradores de nivel de fuente tienen la capacidad de mostrar la cadena de invocaciones de funciones anidadas en el momento de la caída del programa . Para nuestro ejemplo " gdb ", introduzca en el interior " gdb : "

    " backtrace "
    5

    Examine la traza signos de una recursividad infinita . Es un nombre de función repite más veces que sea necesario antes del accidente ? Son algunas de las funciones de llamadas entre sí (por ejemplo , la recursividad mutua) demasiadas veces antes del accidente ? Si la respuesta a cualquiera de estas preguntas es "sí ", el programa se detuvo debido a un desbordamiento de pila. La causa más probable de los desbordamientos de pila en lenguajes de alto nivel se codifican incorrectamente casos base .

    Previous :

    next :
      Artículos relacionados
    ·Cómo dar formato decimales Uso AWK 
    ·Cómo utilizar Ncurses 
    ·Cómo poner un retardo en Shell Script 
    ·Cómo compilar un núcleo para un Android 
    ·Cómo cambiar la anchura en Qbasic 
    ·Cómo reemplazar un carácter con código ASCII Equival…
    ·Cómo matar a un comando con Python 
    ·Video Tools Descompresión 
    ·Cómo Obtener valores de ListBox para enviar a SQL 
    ·¿Cómo puedo importar aplicaciones de Xcode 
      Artículos destacados
    ·Cómo hacer dos tablas en un ListBox en VB.net 
    ·Los diferentes tipos de datos en Visual Basic 
    ·Cómo acceder a elementos de una matriz bidimensional 
    ·Cómo ejecutar una consulta de MySQL para PHP 
    ·Cómo utilizar las interrupciones de Java 
    ·Cómo poner Cuerdas Estilo C en una matriz en C + + 
    ·Cómo instalar la máquina virtual de Java 
    ·Cómo hacer comentarios en Visual Basic 
    ·Diferencias entre Net Basic Visual Basic y Visual 
    ·Cómo eliminar la línea en un archivo plano PHP 
    Copyright © Conocimientos Informáticos http://ordenador.wingwit.com