Problema (Violación Segmento) URGENTE

Temas sobre programación ( php, c, sql, html, perl, python, ruby, java, bash, etc ) y recursos ( herramientas, frameworks, hosting, cms, etc )

Moderadores: akodo, maiku

Responder
Pinto_Pinto
Forista Nuevo
Forista Nuevo
Mensajes: 2
Registrado: Mié May 02, 2012 3:17 pm

Problema (Violación Segmento) URGENTE

Mensaje por Pinto_Pinto » Mié May 02, 2012 3:22 pm

Hola chicos,

Tengo un problema con un programita en C que estoy haciendo sobre un paseo aleatorio. Hay que decir que no llevo más que 2 semanas programando y seguro que me encontrais mil cosas que se podrian hacer mejor... Pero aparte de eso, en mi programa me encuentro con un error: Violación de Segmento, cuando llega a cierto punto del programa.

¿Alguien sabe como depurarlo?

Francamente llevo 3 dias con ese problema y no soy capaz de saber como hacerlo. Compilo con gcc y para que la libreria math.h me funcione al compilar pongo -lm.

Con dev me lo hace bien... pero es necesario que lo haga en gcc.

Este es el archivo del main... donde creo que está el problema

Código: Seleccionar todo

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#include "librw.h"

int main(){

printf(" \n");
printf("--------------------------------------- \n");
printf(" \n");
printf("           RANDOMWALK\n");
printf(" \n");
printf("--------------------------------------- \n");
printf(" \n");

char prog[20], sn;
FILE *f=0;	
int a;
int b;
int k;
int j;

j = 0;
float r;

int rx=0;
int ry=0;
int *x;
int *y;

x=(int*)calloc((k+1),sizeof(int));
y=(int*)calloc((k+1),sizeof(int));

do{
 printf("Cuantos pasos?\n");
 scanf ("%i", &k);

j++;

randwalk(rx,ry,x,y,prog,f,k,j); 

maxim(k,x,y);

minim(k,x,y);

 }

Última edición por Pinto_Pinto el Jue May 03, 2012 11:43 am, editado 2 veces en total.
Avatar de Usuario
hipersayan_x
Forista Legendario
Forista Legendario
Mensajes: 1905
Registrado: Vie Abr 27, 2007 7:00 am
Contactar:

Re: Problema (Violación Segmento) URGENTE

Mensaje por hipersayan_x » Mié May 02, 2012 4:57 pm

Depura el programa usando gdb y/o valgrind, ¿usaste printf para saber donde esta el bloque que falla?
Desarrollo en Qt: Qt Developer Network
Mis proyectos: github | SourceForge.net
Pinto_Pinto
Forista Nuevo
Forista Nuevo
Mensajes: 2
Registrado: Mié May 02, 2012 3:17 pm

Re: Problema (Violación Segmento) URGENTE

Mensaje por Pinto_Pinto » Jue May 03, 2012 11:43 am

Resuelto. Lo dejo aquí por si le vale a alguien.

El problema es que los punteros estan puestos antes de que el usuario pueda definir k, por tanto k="basura"...
Avatar de Usuario
mcun
Administrador
Administrador
Mensajes: 3888
Registrado: Lun Abr 19, 2010 12:30 am
Ubicación: En una de las nalgas del culo del mundo (según la Bersuit Vergarabat)
Contactar:

Re: Problema (Violación Segmento) URGENTE

Mensaje por mcun » Jue May 03, 2012 3:56 pm

Pinto_Pinto Si consideras que el tema fue resuelto, por favor edita el primer post y agrégale al título (SOLUCIONADO) para que la ayuda que recibiste le sea útil a otros usuarios mediante el uso del buscador. Muchas Gracias
Los programadores de verdad no documentan. La documentación es para los idiotas que no pueden leer un volcado de memoria.

Trusted Network and Developer | Lee el Reglamento !! |WIKI-EL | Twitter @mr_mcun
Debian + TTY | ArchLinux + awesome | openSUSE + Gnome-Shell | Linux User #508809
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje