Nuevas NORMAS para el foro
Bienvenido(a),
Visitante
. Favor de
ingresar
o
registrarse
.
¿Perdiste tu
email de activación?
- Agosto 30, 2008, 10:37:46
Boton Buscar
Visita:
Articulos
-
Juegos Gratis
-
Da Foros
Comunidad Underground Hispana
|
Programacion
|
Programación
|
Carbide C/C#/C++
| Tema:
excepción no controlada
0 Usuarios y 1 Visitante están viendo este tema.
« anterior
próximo »
Páginas:
[
1
]
Autor
Tema: excepción no controlada (Leído 172 veces)
dueñas
Recien Llegado
Desconectado
Mensajes: 7
excepción no controlada
«
en:
Abril 11, 2008, 03:54:31 »
Hola. He hecho en c++ (visual studio 2005) un programa cuyas funciones provienen de una dll. En tiempo de ejecución me da este error:
"Excepción no controlada en 0x00000000 en refdll.exe : 0x00000005 : Infracción de acceso al leer la ubicación 0x00000000"
Si alguien sabe a qué se puede deber esto, le agradezco mucho su comentario.
Bye.
En línea
~[L]~
Visitante
Re: excepción no controlada
«
Respuesta #1 en:
Abril 11, 2008, 07:50:30 »
DEBERIAS USAR el debugger, pero, esto lo dice todo :
Citar
nfracción de acceso al leer la ubicación 0x00000000
significa que un puntero apunta a 0 o null, NULLPOINTER EXCEPTION, fijate usando el debugger donde es la excepcion xP
Sayonara^^
En línea
dueñas
Recien Llegado
Desconectado
Mensajes: 7
Re: excepción no controlada
«
Respuesta #2 en:
Abril 15, 2008, 05:07:57 »
Hola, y muchísimas gracias por responder.
He encontrado la excepción en la llamada de un procedimiento que utiliza como parámetro de entrada la dirección de un puntero, así que posiblemente sea como me has dicho, y es un puntero que no tengo inicializado.
De todos modos, aunque solo sea para descartar, ¿no puede deberse este error a que el fichero dll esté mal? es que el dll también lo he hecho yo, y no tengo la certeza de que funcione bien.
Muchas gracias de nuevo.
Bye.
En línea
~[L]~
Visitante
Re: excepción no controlada
«
Respuesta #3 en:
Abril 16, 2008, 04:11:27 »
Cita de: dueñas en Abril 15, 2008, 05:07:57
Hola, y muchísimas gracias por responder.
He encontrado la excepción en la llamada de un procedimiento que utiliza como parámetro de entrada la dirección de un puntero, así que posiblemente sea como me has dicho, y es un puntero que no tengo inicializado.
De todos modos, aunque solo sea para descartar, ¿no puede deberse este error a que el fichero dll esté mal? es que el dll también lo he hecho yo, y no tengo la certeza de que funcione bien.
Muchas gracias de nuevo.
Bye.
No inicializado o que ya se liberó..
Citar
refdll.exe
es un .exe, ahora si decís que es un exe que llama a la dll, no debería haber problemas, ahora, una pregunta..
La dll, ¿ la usas cargandola como modulo y obteniendo funciones a medida que necesites o usas dynamic link? (o sea, un .lib que referencie los símbolos a la dll)
Otro tema es que puede que la dll esté mal, pero puede que no, usa el debugger de tu IDE, fijate, deberia apuntar a donde está dando esa excepción y podría decirte cual es el problema y sabrías si es de la dll o no, pero sino, no sé, es muy en el aire esto =S
Sayonara^^
En línea
dueñas
Recien Llegado
Desconectado
Mensajes: 7
Re: excepción no controlada
«
Respuesta #4 en:
Abril 17, 2008, 05:14:43 »
Hola
Las funciones que uso se obtienen de la dll, sin el uso de ningun .lib.
Miraré con el debugger a ver que tal, pero es verdad que está muy en el aire, es por eso por lo que tengo tantas dudas de como solucionarlo.
Muchas gracias, un saludo.
En línea
~[L]~
Visitante
Re: excepción no controlada
«
Respuesta #5 en:
Abril 17, 2008, 08:44:05 »
Cita de: dueñas en Abril 17, 2008, 05:14:43
Hola
Las funciones que uso se obtienen de la dll, sin el uso de ningun .lib.
Miraré con el debugger a ver que tal, pero es verdad que está muy en el aire, es por eso por lo que tengo tantas dudas de como solucionarlo.
Muchas gracias, un saludo.
No, no es muy en el aire, es la poca informacion que tengo para deducir lo que pasa xD
Usá el debugger del Visual Studio, Links :
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
Sayonara^^
En línea
dueñas
Recien Llegado
Desconectado
Mensajes: 7
Re: excepción no controlada
«
Respuesta #6 en:
Abril 18, 2008, 02:06:27 »
Sí, la verdad es que apenas te he dado datos del problema, pero por eso no te preocupes. La situación es que desde el código que vendrá a continuación, hago referencia a las funciones contenidas en una dll que he hecho previamente. Al utilizar el debugger, el mensaje de error por el que tengo las dudas aparece justo en la llamada de la primera función, donde viene marcado, pero hay que tener en cuenta que aunque quite esa función y haga referencia a cualquier otra, me aparece la misma excepción. El código que utiliza las funciones de la dll se llama refdinamic.cpp, y es el siguiente:
//Programa con el que probaremos la biblioteca dinámica dll.
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
HANDLE ComDev;
char * pInterfaceName = "COM1";
char * pReadPMAddress = NULL;
char * pReadEEAddress = NULL;
char * pBaudRate = "115200";
FILE * pFile = NULL;
eFamily Family;
char Buffer[BUFFER_SIZE];
HINSTANCE hDll;
typedef eFamily (CALLBACK* LPFNDLLFUNC1)(HANDLE);
typedef int (CALLBACK* LPFNDLLFUNC2)(HANDLE, char*, char*, eFamily);
typedef int (CALLBACK* LPFNDLLFUNC3)(HANDLE, char*, char*, eFamily);
typedef int (CALLBACK* LPFNDLLFUNC4)(HANDLE, FILE*, eFamily);
typedef HANDLE (CALLBACK* LPFNDLLFUNC5)(HANDLE, char*, char*); //
typedef BOOL (CALLBACK* LPFNDLLFUNC6) (HANDLE); //
// Functions pointer
LPFNDLLFUNC1 ReadID;
LPFNDLLFUNC2 ReadPM;
LPFNDLLFUNC3 ReadEE;
LPFNDLLFUNC4 SendHexFile;
LPFNDLLFUNC5 OpenConnection; //
LPFNDLLFUNC6 CloseConnection; //
// carga de librería.
hDll = LoadLibrary("lSendHexFile.dll");
ReadID = (LPFNDLLFUNC1) GetProcAddress(hDll, "ReadID");
ReadPM = (LPFNDLLFUNC2) GetProcAddress(hDll, "ReadPM");
ReadEE = (LPFNDLLFUNC3) GetProcAddress(hDll, "ReadEE");
SendHexFile = (LPFNDLLFUNC4) GetProcAddress(hDll, "SendHexFile");
OpenConnection = (LPFNDLLFUNC5) GetProcAddress (hDll, "OpenConnection"); //
CloseConnection = (LPFNDLLFUNC6) GetProcAddress (hDll, "CloseConnection"); //
//EN LA SIGUIENTE LLAMADA APARECE LA EXCEPCIÓN.
if (OpenConnection(&ComDev, pInterfaceName, pBaudRate) == NULL){ return -1; //excepción
}else{
// Read Device ID
// Family = dsPIC30F; // Tenemos que inicializar Family para que no nos de la excepción.
Family = ReadID(&ComDev);
// Process Read PM request and exit
if(pReadPMAddress != NULL)
{
ReadPM(&ComDev, Buffer, pReadPMAddress, Family);
return 0;
}
// Process Read EEPROM request and exit
if(pReadEEAddress != NULL)
{
ReadEE(&ComDev, Buffer, pReadEEAddress, Family);
return 0;
}
return 0;
// Read Hex file and transfer it to target
SendHexFile(&ComDev, pFile, Family);
CloseConnection(&ComDev); //
}
// descargar librería
FreeLibrary(hDll);
system("PAUSE");
return EXIT_SUCCESS;
}
Como habrás podido ver, la dll a la que se refiere es lSendHexFile.dll, que es donde se encuentran todas las funciones a las que se refiere el código.
No sé que mas decir, pero este error me ha dejado bloqueado, no lo había visto antes, y me he quedado totalmente estancado con el proyecto por culpa de esto.
Muchísimas gracias de nuevo. Un saludo.
En línea
Páginas:
[
1
]
Comunidad Underground Hispana
|
Programacion
|
Programación
|
Carbide C/C#/C++
| Tema:
excepción no controlada
« anterior
próximo »
Ir a:
Por favor selecciona un destino:
-----------------------------
Foros De Consulta General
-----------------------------
=> Novedades
=> Dudas, Comentarios Y Sugerencias
=> Top 100
=> Off-Topic
=> Revista E-Zine
===> Noticias
-----------------------------
Phreaking, Hacking y Seguridad
-----------------------------
=> HacK GeneraL
===> Ingenieria Inversa
===> Encriptacion, Cryptografia
===> TV HACK
===> Seguridad
===> Cursos y Ezines
=====> Trucos Internet
=====> Textos Hacking
===> Defacing
=> Phreaking
===> Moviles
=> Bug y Exploits
-----------------------------
Hack Novato
-----------------------------
=> Hack para newbies
=> Todo Messenger
=> Troyanos y virus
-----------------------------
Sistemas Operativos
-----------------------------
=> Windows y otros sistemas operativos no libres
===> Problemas Tecnicos Windows
=> Sistemas operativos libres.
===> GNU/Linux
===> Manuales y Tutoriales
===> Descargas
-----------------------------
Programacion
-----------------------------
=> Programación
===> Programación Basica
===> Otros Lenguajes
===> Visual Basic y Net
===> ASM
===> Programacion Shell
===> Perl
===> Carbide C/C#/C++
===> Batch
===> SQL
=> Programacion para webmasters
===> Consultas
===> Php
===> Html
===> Java - Java Script
===> Php Nuke
===> Scripts Pre-Fabricados
===> Mysql
===> CSS y Diseño Web
-----------------------------
Artes Graficas
-----------------------------
=> Diseño Grafico
===> Battle Arts
===> Flash
===> Tutoriales
===> Galerías
===> Software
-----------------------------
Area Tecnica
-----------------------------
=> Networking & Wireless
=> Overclocking, Refrigeracion y demas
=> Hardware
===> Cursos Y manuales
=> Electronica Y Robotica
-----------------------------
Programas
-----------------------------
=> Software
===> Configuraciones de software
===> Pedidos de software
=> Cracks & Serialz
=> P2p, Bittorrent, Elinks
-----------------------------
Multimedia Y Divx
-----------------------------
=> Juegos PC Y Consolas
===> Dudas ayudas y comentarios de juegos
===> Pedidos de juegos
=> Mp3
=> Multimedia
=> Peliculas Divx
-----------------------------
Entretenimiento Y sitios de interes
-----------------------------
=> Juegos, Humor y Adultos. (Diversión)
===> Adultos
=> Paginas Webs Recomendadas
=> Videos
Powered by SMF 1.1.5
|
SMF © 2006-2007, Simple Machines LLC
Loading...