FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Depurar DLL con Lazarus
Hola.
Hace tiempo creé una DLL para jugar a las damas españolas con la interfície CheckerBoard. La desarrollé en D2005 y funciona perfectamente hasta ahora. Ha pasado el tiempo y ahora me gustaría hacerla con Lazarus. El problema que encuentro es que no puedo depurarla con Lazarus. He probado varias opciones: mode delphi/objfpc, usar sharemem y algún cambio en los parámetros de compilación. Los resultados son siempre iguales, salta una excepción: ,msg="Cannot find bounds of current function" en la función GenerarJugadaCB. He probado alguna sugerencia que he encontrado (http://bugs.freepascal.org/view.php?id=24208), pero sin resultados positivos. He probado stdcall y cdecl, pero esta ultima no esta soportada por CheckerBoard. Estoy probando con Lazarus de 32 bits para CheckerBoard de 32 bits en Windows 7 de 64 bits. También he probado con las versiones de 64 bits y no funciona la depuración. Aquí tenéis enlaces para descargar CheckerBoard y un proyecto mínimo de la DLL que hace una única jugada. Ademas he puesto el motor de damas españolas. Agradecería cualquier ayuda para resolver el problema depurando la DLL. Gracias. https://dl.dropboxusercontent.com/u/...73a-x32-EG.exe https://dl.dropboxusercontent.com/u/...-1.18b-x32.exe https://dl.dropboxusercontent.com/u/...7/CB/damas.zip |
#2
|
||||
|
||||
Supongo que nunca has utilizado GDB. Es bastante más flexible que usar Lazarus (aunque en teoría Lazarus usa GDB ). Con GDB puedes poner un punto de ruptura dentro de la DLL aunque no la haya cargado todavía. Por ejemplo:
Código:
(gdb) break ejemplo.pas:245 No hay un archivo fuente con el nombre ejemplo.pas. ¿Compilación de breakpoint pendiente hasta futura cargada de biblioteca compartida? (y or [n]) ? Ya, la pregunta es rara. Supongo que usaron Google translator o algo así. |
#3
|
|||
|
|||
Gracias Ñuño.
Efectivamente, no he utlizado GDB. Haré un esfuerzo y miraré cómo depurar la libreria con GDB, pero mi nivel de programación es bastante mediocre. Con Delphi me defendía, después de varios años sin programar me costará un poco. |
#4
|
||||
|
||||
Te recomiendo que tengas paciencia. GDB tiene muchas opciones y puede costar aprenderlas. Pero con unos pocos tutoriales (creo que la wiki de Lazarus tiene alguno de esos) te manejarás bien.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Depurar DB MS SQL | Jose Carlos Rey | MS SQL Server | 4 | 13-10-2014 23:27:12 |
Depurar una CGI en Delphi 5 | bitbow | Internet | 0 | 10-03-2011 17:55:42 |
Depurar una dll en TurboDelphi | yarones | Varios | 3 | 18-01-2008 13:22:29 |
Depurar Clases | jplj | Varios | 2 | 13-11-2007 18:39:59 |
depurar libreria | agonzalez | Varios | 6 | 16-03-2004 20:03:08 |
|