gualá!!!
Ya chica el lanzar desde un SMART_ASSERT el depurador. Bueno esta probado desde un programita muy tonto. ¿Que pasará en un entorno MT?
El codigo al final queda con alto tan tonto como esto:
pid_t ppid = getpid();
char spid[64];
sprintf(spid,"%ld",ppid);
// Se lanza el xterm en un proceso hijo
// Nota: se podria usar vfork
pid_t pid = fork();
if(pid == 0 )
{
execlp("xterm","xterm","-e","gdb","program",spid,0);
}
else if (pid == -1)
{
// Hay un error. No hacemos nada
}
else
{
// El padre
// Se queda esperando por el hijo lanzado
waitpid(pid,0,0);
}
miércoles, febrero 25, 2004
Bueno ya estoy dentro de econozco, he metido informacion sobre mi y he invitado a gente. A ver como evoluciona...
Una cosa que me ha llamado la atención respecto a otra red de bastante exito que habia visto es que te puedes registrar sin necesitad de ser invitado.
Bueno, cambiando de tema. He ma comentado una libreria de depuración JJ: http://libcwd.sourceforge.net/
No se que tal estará, pero lo que me ha llamado la atención, es una de las ultimas funcionalidades que incorporan:
"Two new features have been added: read_rcfile() and attach_gdb(). The first reads initialization from an rcfile (allowing to set which debug channels should be on or off for example) and the second opens an xterm with an attached gdb session in it, allowing you to start to debug the application from that point (especially handy for threaded applications)."
En mi proyecto actual estamos usando la macro SMART_ASSERT de Alexandrescu, pero no se como en HP-UX saltar al depurador. Esto me ha dado la idea. Lo que hay que hacer es lanzar un procesos que sea un xterm ejecutando una sesion gdb que esté depurando el proceso desde el cual estamos lanzando todo. La caña ¿no?
Como ando un poco ocioso voy a ver si lo pruebo.
JJ, tiene por lo visto un memory leak que tiene que resolver y Electric Fence no le sirve, ya que por lo visto sólo sirve para malloc y free.
Le he pasado los siguientes enlaces:
Una cosa que me ha llamado la atención respecto a otra red de bastante exito que habia visto es que te puedes registrar sin necesitad de ser invitado.
Bueno, cambiando de tema. He ma comentado una libreria de depuración JJ: http://libcwd.sourceforge.net/
No se que tal estará, pero lo que me ha llamado la atención, es una de las ultimas funcionalidades que incorporan:
"Two new features have been added: read_rcfile() and attach_gdb(). The first reads initialization from an rcfile (allowing to set which debug channels should be on or off for example) and the second opens an xterm with an attached gdb session in it, allowing you to start to debug the application from that point (especially handy for threaded applications)."
En mi proyecto actual estamos usando la macro SMART_ASSERT de Alexandrescu, pero no se como en HP-UX saltar al depurador. Esto me ha dado la idea. Lo que hay que hacer es lanzar un procesos que sea un xterm ejecutando una sesion gdb que esté depurando el proceso desde el cual estamos lanzando todo. La caña ¿no?
Como ando un poco ocioso voy a ver si lo pruebo.
JJ, tiene por lo visto un memory leak que tiene que resolver y Electric Fence no le sirve, ya que por lo visto sólo sirve para malloc y free.
Le he pasado los siguientes enlaces:
Redes de contactos
Hace poco supe de ellas. Es una nueva forma de contactar con peña solo que a través de contactos comunes.
Me llamó la atención, pero claro no lo puede probar ya que para entrar en la red, necesitas que te inviten.
No ha pasado mucho tiempo y ya he recibido una invitación a una de ellas:
https://www.econozco.com
Seguro que dentro de poco empezarán a pulular. ¿Cual será la mejor? ¿Cuales sobreviviran? Por de pronto voy a trastear un poco con esta a ver que tal esta...
martes, febrero 24, 2004
Electric Fence
¡Vaya! gracias a una combersacion mínima mantenida con JJ a salido este nombre a colacion. Era la libería que usabamos para chequear la memoria. Vamos evitar memory leaks y tal.
Una descripcion de la libreria:
"Electric Fence (efence) stops your program on the exact instruction that overruns (or underruns) a malloc() memory buffer. GDB will then display the source-code line that causes the bug. It works by using the virtual-memory hardware to create a red-zone at the border of each buffer - touch that, and your program stops. Catch all of those formerly impossible-to-catch overrun bugs that have been bothering you for years."
Mas links:
- Procesador de textos para linux: http://www.softmaker.com
- Para montar album de fotos
- Clonar webs. Reamweaver. El soft se puede pillar aqui.
Hace tiempo estuvimos investigando sobre la posibilidad de montar un empresa. Una de las cosas que estuvimos mirando fue sobre el tema de la pagina web. En ese momento mire diseños web open source. Listo aqui algunos que me gustaron en ese momento:
Sliqua by Phalsh:
http://www.oswd.org/browse.php?page=1&sort=ratingdesc
Extent by antipop:
http://www.oswd.org/viewdesign.phtml?id=13&referer=/search.php?type=designer&designer=antipop&x=24&y=1
Los de whompy me gustan:
http://www.oswd.org/search.php?type=designer&designer=whompy&x=25&y=7
Tweedy by artwitz:
http://www.oswd.org/viewdesign.phtml?id=5&referer=/search.php?type=designer&designer=artwiz&x=12&y=0
wanker: http://www.oswd.org/viewdesign.phtml?id=752&referer=/browse.php?page=1&sort=ratingdesc
Pasilda (este es muy similar a uno de whompy): http://www.oswd.org/viewdesign.phtml?id=1027&referer=/browse.php?page=1&sort=ratingdesc
droll (y este tb mola): http://www.oswd.org/viewdesign.phtml?id=473&referer=/browse.php?page=1&sort=ratingdesc
Como se puede ver en la lista, prima el fondo no oscuro y si es oscuro azulado.
En www.oswd.org hay muchisimos diseños.
Sliqua by Phalsh:
http://www.oswd.org/browse.php?page=1&sort=ratingdesc
Extent by antipop:
http://www.oswd.org/viewdesign.phtml?id=13&referer=/search.php?type=designer&designer=antipop&x=24&y=1
Los de whompy me gustan:
http://www.oswd.org/search.php?type=designer&designer=whompy&x=25&y=7
Tweedy by artwitz:
http://www.oswd.org/viewdesign.phtml?id=5&referer=/search.php?type=designer&designer=artwiz&x=12&y=0
wanker: http://www.oswd.org/viewdesign.phtml?id=752&referer=/browse.php?page=1&sort=ratingdesc
Pasilda (este es muy similar a uno de whompy): http://www.oswd.org/viewdesign.phtml?id=1027&referer=/browse.php?page=1&sort=ratingdesc
droll (y este tb mola): http://www.oswd.org/viewdesign.phtml?id=473&referer=/browse.php?page=1&sort=ratingdesc
Como se puede ver en la lista, prima el fondo no oscuro y si es oscuro azulado.
En www.oswd.org hay muchisimos diseños.
Estas naviades habia un par de gadgets que queria tener, uno era una camara digital y el segundo era un radio digital que tb grabara mp3.
Un ejemplo del segundo aqui.
Lo que pasa es que al final como andaba muy justo de pasta pues no ha podido ser ni el primero ni el segundo. Asi es la vida...
Un ejemplo del segundo aqui.
Lo que pasa es que al final como andaba muy justo de pasta pues no ha podido ser ni el primero ni el segundo. Asi es la vida...
Valores por defecto en la BD
En el proyecto que nos llevamos entre manos las entidades se pueden hacer persistentes en la BD. De los atributos que se hacen persistentes hay algunos que son opcionales.
Cuando se diseño la solución se decidió que estos valores opcionales en las entidades fueran punteros.
La idea esta bastante bien, pero el manejo es un poco engorroso. Me gustaría algun dia darle mas vueltas al asunto. Otras opciones podrían ser:
- Usar valores por defecto
- Usar clases recubriento
Tareas programadas en windows
Vaya mierda con las tareas programadas de windows, que no me lanzan una aplicacion cada cierto tiempo.
El minimo rango es 1 dia. Puta mierda.
La solución sería el lanzar al iniciar la sesión una aplicacion mia que tenga un timer dentro. Lo suyo sería que se quedase 'residente'.
Y como me he decido a aprovechar este rato de ocio, vamos a ir metiendo cosillas que tenia pendientes.
Y para acabar otros links que tenia por ahí en un correo:
- Ahi va un link de un soft para administrar cibercafes.
- The Boost Concept Check Library (BCCL).
- El navegador que estoy usando ultimamente, mozilla firefox.
- Si buscas trabajo en Europa, la UE te lo pone fácil.
- Donde pillar Beyond Compare.
- Treesize.
- Link sobre file&dir sync.
Y para acabar otros links que tenia por ahí en un correo:
- http://dmoz.org/Computers/Software/Networking/Network_Performance/
- http://dmoz.org/Computers/Software/Graphics/Image_Cataloguing/
- http://dmoz.org/Computers/Software/Shareware/Windows/Graphics/Image_Management/
- http://dmoz.org/Computers/Software/File_Management/
Como ando un poco ocioso voy a dejar constanci a aqui de algunas cosillas que ultimamente he conocido. Claro, como siempre estamos hablando de unix, y mas en concreto de HP-UX.
* DEPURACION
- gdb
- wdb
* COLAS
ipcs -> permite ver el estado de las facilidades
para la interconexion de procesos
ipcs -q -> saca solo info de las colas
* SOCKETS
lsof -i tcp:
netstat -an -> mas rapido que solo con -a, ya que no
resuelve los nombres
* SYSTEM CALLS
truss/tusc -> permite trazar las llamads al sistema
* ORACLE
Se tiene un procesos hijo por cada conexion. Estos hijos
se hacen con fork => se copian los recursos => puede que
no se pueda volver a usar un puerto (por ejemplo el CORBA
de escucha con un POA persistente) si no se matan estos
procesos oracle (tendran como padre el PID 1).
Ejemplo:
ps -efugeiser2b | grep oraclegeiser | grep ' 1'
* SYSTEM
lsof -> lista ficheros abiertos
lsof -p -> muestra los ficheros abiertos por un proceso
* DEPURACION
- gdb
- wdb
* COLAS
ipcs -> permite ver el estado de las facilidades
para la interconexion de procesos
ipcs -q -> saca solo info de las colas
* SOCKETS
lsof -i tcp:
netstat -an -> mas rapido que solo con -a, ya que no
resuelve los nombres
* SYSTEM CALLS
truss/tusc -> permite trazar las llamads al sistema
* ORACLE
Se tiene un procesos hijo por cada conexion. Estos hijos
se hacen con fork => se copian los recursos => puede que
no se pueda volver a usar un puerto (por ejemplo el CORBA
de escucha con un POA persistente) si no se matan estos
procesos oracle (tendran como padre el PID 1).
Ejemplo:
ps -efugeiser2b | grep oraclegeiser | grep ' 1'
* SYSTEM
lsof -> lista ficheros abiertos
lsof -p
Parece ser que ahora a la comunidad libre le esta dando por crear un nuevo sistema de versiones que mejore el CVS.
Habrá que seguirle la pista, a ver como va evolucionando:
Subversion personal
http://subversion.tigris.org/
Habrá que seguirle la pista, a ver como va evolucionando:
Suscribirse a:
Comentarios (Atom)