![]() |
Lazarus y el problema con el debugger...
Bueno, hace mucho que no probaba Lazarus y últimamente me han dado ganas de mirarlo y probarlo para ver cómo va la cosa.
Lo instalé, todo muy lindo. Pero cuando quiero correr cualquier programa me salta una excepción "External: SIGSEGV". Por lo que pude encontrar por la red se trata de un problema con el debugger. Si uno lo deshabilita todo viaja fenomenal, pero claro, uno no tiene debugger... Al parecer nadie en toda la #@% Internet sabe cómo solucionarlo, o los hilos que encontré se van de tema antes de que alguien puede decir qué hay que hacer :). Así que pregunto, ¿alguno de ustedes solucionó el problema? Gracias mil. |
A mí me pasó exactamente eso pero con Delphi2009 el año pasado.
Era un problema con el debugger y para "arreglarlo" había que desactivarlo. Nunca encontré la solucción, hasta que instalé el mismo IDE en otro SO (en realidad otra partición con el mismo SO). No sé a qué se habrá debido, algún archivo defectuoso al instalarse, pero al instalarlo en "otra máquina" me anduvo bien. |
Los problemas de Free Pascal con El Depurador (me refiero a GDB, ¿cuál si no?) vienen de largo.
Lo que ocurre es que desde el principio se intentó que FPC fuera lo más compatible posible con el proyecto GNU, por eso se intentó que la depuración se realizara con GDB. El problema es que GDB asume que todos los programas que depura han sido generados por GCC. GCC incluye un compilador Pascal, sin embargo es un proyecto muerto desde hace años y los desarrolladores de GDB ya no lo tienen en cuenta. FPC intentó presionar para que GDB incluyera un mejor soporte a los lenguajes Pascal y Object Pascal, sin mucho éxito por lo que se ve. En las últimas versiones de FPC se está haciendo un esfuerzo por añadir soporte a otros depuradores (dwarf y valgrind, principalmente) pero por lo que creo, el soporte para estos es todavía peor que el de GDB, aunque me han dicho que con valgrind se puede uno manejar "decentemente" teniendo en cuenta que esta aplicación no es un depurador sino un analizador de memoria. Más de una vez he leído en los foros y listas de correo de FPC y Lazarus a gente proponiendo crear un depurador propio, pero nunca termina de cuajar. Eso sí: la FCL incluye en su clase TProcess una propiedad que hace que el proceso se ejecute en "modo depuración". Por desgracia no he encontrado lo que significa eso. |
Upa, Ñuño, me tiraste la alegría a la @%&# :)
La verdad es que sin debugger no puede haber un desarrollo serio... En definitiva convierte a Lazarus en un juguete... Por lo menos desde mi punto de vista. Es una lástima realmente. Como va la cosa con Delphi, estaba pensando seriamente el moverme pa'l lado de FPC+Lazarus... pero ahora con este asunto, medio como que no me cabe mucho la idea... |
Ñuño, me acabas de matar la ilusión a mi también :(, Manejé Lazarus hace algunos añitos atrás y tenía intención de volver a instalarlo para hacer una que otra aplicacioncita. Y aunque yo no he tenido problemas de errores ni nada de eso, el saber que posiblemente este el debugger deshabilitado me da un no se que que que se yo, que ya no me dan ganas de programar en Lazarus.... Bueno, tendría que volverlo a instalar y verificar lo del debugger para ver si está deshabilitado. Déjame ver si en una instalación donde me compile y corra sin errores está sin debugger, y luego les digo...
|
Yo estoy usando la última versión y funciona bien :)
|
Suertudo.:mad:
Por lo que he leído por ahí, a algunos les anda y a otros no, incluso en la misma computadora con el mismo sistema operativo, una vez anda y después de formatear y reinstalar, ya no. Así que, Casimiro, sos uno de los suertudos a los que les anda... ¿No hay un emoticón de envidia, no? |
Yo lo he instalado así:
Código:
#!/bin/sh |
Saben, pues el debugger está activado, y ejecute todo bien, en Windows 7.... :confused:
Bueno, soy de los suertudotes diría Lord Delfos... |
Voy a completar información.
Al parecer, las últimas versiones parecen más propicias para la depuración. Hay algunas cosillas que fallan, pero parece ser que, a grosso modo, funciona, solo que como habéis dicho algunos, dependiendo de la configuración y de la versión instalada (nótese que ahora mismo sale casi una nueva versión diaria, solo que no la publican sino que se obtiene vía SVN y hay que compilarla ya que sólo se publica código fuente). Yo no uso las versiones SVN sino que instalo las "estables. Ahora mismo tengo la 0.9.28.2-0 beta, compilada el siete de Octubre de 2009. En esta versión la depuración funciona según le dé. A veces (las menos) puedo ejecutar paso a paso y ver el contenido de variables y objetos sin problemas, pero normalmente o no puedo ver el contenido de todas las variables o después de un rato me suelta una excepción de las gordas o se salta algún punto de ruptura. Cosas que pasan, aunque muchas veces es suficiente. De todas formas, en la lista de correos del compilador Free Pascal llevan una temporada larga discutiendo el tema de la depuración, y no me extrañaría nada que nos den la sorpresa y en un futuro próximo (tal vez con la versión 2.6) la depuración funcione de forma estable y sin problemas, bien con GDB, bien con otro depurador similar. |
Cita:
je, je... muy chistoso :) Ojalá esté solucionado como mucho en la versión 1.0 :rolleyes: |
Me refiero a la versión 2.6 del compilador (la última es la 2.4.algo), no de Lazarus. :p
Cita:
|
|
Cita:
La verdad yo creí que por eso lo decías y ya me andaba riendo... :p |
Si es que con tanta versión y tanto SVN uno se lía cosa mala...:D
|
Cita:
Amigos, lazarus no es delphi. El debugger es mediocre pero sirve. Es decir, por todo lo demás que nos da lazarus vale la pena hacer el esfuerzo con ciertos detalles. Y nuevamente, antes de empacarse miren el wiki, o entren al irc canal #lazarus, como dios manda. ;) Saludos |
Bueno Donald, yo estuve "indagando" sobre el asunto y leyendo foros y la wiki y francamente la situación es desesperante.
Lazarus no es Delphi, eso seguro. Es gratis, es multiplataforma, es abierto... Ahora, el problema es que no anda. O mejor dicho, el problema es que el debugger que usa FPC no anda. Por más gratis que sea, pues no anda. Es decir, me están regalando... nada. Es una verdadera lástima, porque está muy buena la idea y me parece genial, pero... Así está la cosa. Cita:
Qué sé yo, espero que algún día se animen a hacer su propio debugger así dejo esta |@·$ en la que se ha convertido Delphi. |
Cita:
Lo que sucede es que la gente no se toma el tiempo de LEER como se usan las herramientas. Toda herramienta tiene su curva. Los usuarios de delphi creen que abren lazarus y es delphi. Nada mas lejano de la realidad. Lamento decirlo: es mejor que delphi. El concepto es terriblemente mas poderoso que nuestro amigo de años (delphi). Te explico, tengo un servidor con 2 mill de lineas de código aprox. En delphi 2007, 2010, 2011(ups nunca dije eso) la simple tarea de autoinvocar un procedimiento para un componente no ME funciona. Es decir, autocompletar, anulado. Alguien podría decir, y bueno, algun problema con tus libs, paths, whatever. El tema es que : Mismo proyecto, abierto en ubuntu 10.04, lazarus trunk version, funciona como los dioses. Click en procedure vuela al código donde esta declarado, autocompletar, lo que sea. El ide VUELA, ni comparación con la ped**** de los ides galileo, por dios! Resultado, termino editando y compilando para linux en lazarus, y editando (en lazarus) y compilando en delphi para windows. Esto lo hago hace años. Cita:
Ahora claro que hay mucha gente a la que no le interesa dedicarle un rato a resolver un error en lazarus, solo esperan bajarlo y que funcione todo a la perfección. Pues... para eso tienes delphi. No porque funcione a la perfección sino para que puedas maldecir a alguien cuando no lo haga y rezar que en antes de las próximas 5 versiones (si si, no exagero, sino echenle una miradita a QC) estén solucionando el bug. En lazarus es tan simple como: svn update make clean all salio! En fin, es dificil explicarlo si no lo han vivenciado muchachos. Saludos |
En mi caso funciona, pero con linux, no sé si con windows funcionará.
![]() |
Bueno, creo que acá hay dos cosas diferentes. Según lo veo yo.
[1] Hasta donde sé, nadie sabe porqué no funciona. Y cuando digo nadie digo nadie, ni los que hacen Lazarus, ni los que hacen FPC, ni los que hacen el debugger (a éstos en realidad no les importa). Nadie está seguro de qué hacer. Todo lo que he visto y leído básicamente apunta a eso, no sabemos qué pasa ni cuándo lo vamos a arreglar, ni qué podés hacer para solucionarlo. [2] Qué objeto tiene (y acá se me van a venir los defensores del Open Source como locos :)). Digo, qué objeto tiene hacer un programa que anda algunas veces y otras no. Es decir, desde que uno hace un programa, asume que la gente que lo usa no lo quiere hacer, por eso no lo programan ellos mismos, sino que se bajan lo que hizo otro. Yo no me quiero poner ha arreglar un programa. Programas que no andan tengo un montón y de mi propia autoría :). Eso de que es gratis y por eso se debe tolerar que falle, para mí no aplica. Pero esto tiene otro problema aún más grave. Imaginate en una empresa, formatean la máquina y ¡pum! sin Lazarus porque el debugger no camina... Y peor aún, no se sabe cuándo o ni siquiera si va a volver a andar... El cliente llamando desde Hong Kong preguntando ¿dónde está mi #4% programa? ¿Y vos qué le decís? ¿Qué no te anda el debugger? Ahí es donde Lazarus pierde por goleada. PD: Lo del debugger no es un tema de configuración. Anda o no anda. Punto. Si anda, ¡bien! y si no... pues... "juiste". |
La franja horaria es GMT +2. Ahora son las 13:05:35. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi