Herramientas para testeos

6 views
Skip to first unread message

Luciano Dzisiuk

unread,
Nov 1, 2010, 11:49:48 AM11/1/10
to C Talks
Buenas!
Quería saber si alguno conoce alguna herramienta que me permita ver
visualmente las conexiones entrantes y salientes de un proceso, y de
yapa si también se puede ver las estructuras de datos del mismo :)
para poder ver de una manera más copada como se arman las listas por
ejemplo, su contenido, con que otro proceso tiene conexiones , etc.
Muchísimas gracias!
Saludos!

Facundo Viale

unread,
Nov 1, 2010, 2:22:13 PM11/1/10
to c-t...@googlegroups.com
Mmm... Como decirlo ... FAAA que locura! Si existe esa herramienta yo compro! XD

Una tool que haga todo eso, que yo sepa no existe. Se que existe forma de saber los descriptores abiertos de un proceso e incluso creo que podes saber cuales son sockets. También hay forma de analizar los paquetes que se mandan por la red para ver su contenido. En cuanto a ver la estructura de datos, tambien es algo complicado ya que es alfo interno del proceso y solo lo podrías ver si lo debugeas el tema es que en C como todos son punteros el tipo de dato nunca queda guardado por lo que nunca podrias saber el tipo de datos de un puntero.

En general para estas situaciones lo que hacia era, todo lo que eran librerias propias o TADs hacia un main para testear eso. ( Cuando implemente mis propias listas hice un main donde probaba agregar y remover y miraba si generaba memory leaks ). Lo mismo para la seralizacion/des-serializacion de estructura de datos.

En cuando a los sockets, si era algo muy secuencial armaba un main donde ponía un servidor y el cliente en una secuencia de lineas donde tenia los pasos de como tenia que ocurrir. Si lo fuiste armando todo modular, hacer esto es una boludes ya que el TAD esta armado para exponer funcionalidad tanto para su uso como para su testeo. Y en caso de que se complique debugeaba un proceso que levantaba el servidor y otro que levantaba el cliente y me iba fijando como se comportaba ( proceso largo y denso ).

Saludos!


--
Recibiste este mensaje porque estás suscrito al Grupo "C Talks".
Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a c-t...@googlegroups.com
Para anular la suscripción a este grupo, envía un mensaje a
c-talks+u...@googlegroups.com
Para obtener más opciones, visita este grupo en
http://groups.google.com.ar/group/c-talks?hl=es.

Luciano Dzisiuk

unread,
Nov 2, 2010, 3:19:17 PM11/2/10
to C Talks
Muchas gracias!
Veo que no queda otra, el tema es que para este tp como está el
bendito grid de nodos, queria una forma quizas más simple de ver las
conexiones que tiene, cuando las pierde, ver que no se armen islas,
ver que tire conexiones a nodos que conocia el nodo que calló, etc
jajaja bueno suena complicado pero quizas con paciencia salga algo.

Muchas gracias!
> <dzisiukluci...@gmail.com>escribió:
>
> > Buenas!
> > Quería saber si alguno conoce alguna herramienta que me permita ver
> > visualmente las conexiones entrantes y salientes de un proceso, y de
> > yapa si también se puede ver las estructuras de datos del mismo :)
> > para poder ver de una manera más copada como se arman las listas por
> > ejemplo, su contenido, con que otro proceso tiene conexiones , etc.
> > Muchísimas gracias!
> > Saludos!
>
> > --
> > Recibiste este mensaje porque estás suscrito al Grupo "C Talks".
> > Si quieres publicar en este grupo, envía un mensaje de correo
> > electrónico a c-t...@googlegroups.com
> > Para anular la suscripción a este grupo, envía un mensaje a
> > c-talks+u...@googlegroups.com<c-talks%2Bunsu...@googlegroups.com>

Facundo Viale

unread,
Nov 2, 2010, 3:56:34 PM11/2/10
to c-t...@googlegroups.com
 Hace 2 años o 1 años y medio hubo un TP muy similar, ya que también estaba el tema de los nodos que se tenían que descubrir y que se tenia que corroborar que no se generaran islas. Esas cosas realmente son complicadas se testear porque depende de un contexto muy puntual y complejo de reproducir.

 Para esa ocacion, creo que mi mejor herramienta fue los logs y el debugger del eclipse. Si armas todo como pequeñas librerías, testear integridad de estructuras de datos o comportamiento es muy facil. Cuando tenes el tema de testear el comportamiento de conexiones, a menos que puedas hacer un "Mock" ( http://en.wikipedia.org/wiki/Mock_object pero para este caso es para estructurado ) de las funciones que manejan la conexion, no se puede simular y como mucho lo podes testear localmente como te había mencionado. Es decir debugeas los 2 procesos, en la mejor de las condiciones tus librerías son lo suficientemente modular como para no tener que levantar los 2 procesos reales sino para levantar algunos threads que llamen a las funciones que necesitas probar, tenes una especie de entorno mas reducido.

Saludos!
Reply all
Reply to author
Forward
0 new messages