Skip to content

alesiosaba/tp-2022-1c-AGKLS

Repository files navigation

TP SO 2022 1C - Grupo: AGKLS

https://github.com/sisoputnfrba/kiss-pruebas

VM ubuntu-server

Configurar network adapter en la vm

  • Verificar que se encuentra seleccionada la opcion "Cable Connected"

image

Una vez iniciada la vm comprobar la ip local asignada a ubuntu-server:

Usar el comando ifconfig

image

Si no se configura una ip local automaticamente usar:

sudo systemctl restart networking

Iniciar servidor http en maquina linux

usar comando: python -m SimpleHTTPServer

este comando levanta un server http en la ip que indica ifconfig y el puerto 8000 por defecto

verificar en que ruta se ejecuta el comando, recomendado moverse a carpeta root

image

Para comprobar que esta iniciado el server podemos verlo desde un navegador:

image

Para descargar el archivo de deploy podemos descargarlo desde nuestro "server" utilizando wget

wget 192.168.100.52:8000/tp-2022-1c-AGKLS/deploy/deploy.sh

image

Como utilizar varios terminales en ubuntu server: image

Usando Valgrind para memory leaks

  • Guia

https://docs.utnso.com.ar/guias/herramientas/valgrind.html#introduccion

  • Video charla

https://www.youtube.com/watch?v=knRei6OBU4Q&t=264s

image

viendo memory leaks en Eclipse

image

viendo memory leaks en la terminal

image

para ver memory leaks producidos por un programa debemos ejecutar el programa de la siguiente manera:

valgrind ./bin/consola.out

  • Algunas opciones por parámetro copadas:

--leak-check=yes habilita el detector de memory leaks.

--leak-check=full habilita el detector de memory leaks en full.

--log-file=<nombreArchivo> crea un log de lo que nos muestra Valgrind por pantalla.

valgrind --leak-check=full --log-file=/home/utnso/valgrind-logs/kernel.log -v ./bin/kernel.out ./exec_conf/kernel.config

image

  • Si no habilitamos la opción --leak-check y existen memory leaks en nuestro programa, Valgrind nos dejará un mensaje mágico de éste tipo: Rerun with --leak-check=full to see details of leaked memory.

una vez terminado el programa obtenemos la informacion que nos brinda valgrind

image

conceptos de valgrind

  • definitely lost: muy importante no tener
  • indirectly lost: muy importante no tener
  • possibly lost: se puede generar, readline genera un poco, tampoco darle mucha bola
  • still reacheable: no darle bola
  • suppressed: no darle bola

image

Helgrind

Analiza que esta pasando con los hilos

Usando Helgrind en Eclipse

image

cambiar tool to run:

image

helgrind nos indica en que linea del programa y en que hilo exactamente hay problemas entre hilos

  • RaceCondition: posible condicion de carrrera

image

Usando Helgrind en la terminal

valgrind --tool=helgrind ./bin/memoria.out

image

conceptos de helgrind

  • CUIDADO que ejecutando con helgrind un programa la herramienta puede salvar y atajar errores como segmentation fault, obviamente no se puede usar en la entrega.

  • Thread #2 was created by 0x10924A: main(ejemplo.c:35) nos indica en que programa y en que linea se creo el hilo

image

  • Possible data race ... Locks held: none: significa sin tener ningun semaforo, tambien nos indica en que linea se genera el problema

image

  • Lock at 0x483CC9C was first observed puede indicar un deadlock y la linea del programa que la genera

image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published