Fecha actual Dom Ago 18, 2019 10:01 am

Fundamentos de depuración

Contiene chispazos de ingenio que nos servirán para resolver problemas de una manera superior.


Usuarios leyendo este tema: Ninguno

Fundamentos de depuración

Notapor ~ » Mar Ene 08, 2013 10:30 pm

El primero y más grande obstáculo para la depuración es editar muchos datos repetitivos con algún grado de patrón, especialmente de programas que manejan datos en cantidades masivas, más allá de lo práctico manejado manualmente, necesitan verdaderas técnicas de depuración.

Se necesita depurar de forma que sea en tiempo real, o en tiempo real diferido.

También necesitamos depurar ya sea mostrando los datos paso a paso, o en bloque, todos los datos generados, iniciales, intermedios y finales, de una sola vez.
Imagen
IP for hosts file (email udocproject@yahoo.com to get updates if website becomes offline):
Código: Seleccionar todo
190.150.9.244 archefire.org



See what I'm doing in real time:
Main Desktop 1
Main Desktop 2
Avatar de Usuario
~
Site Admin
 
Mensajes: 2958
Registrado: Sab Nov 10, 2012 1:04 pm

Re: Fundamentos de depuración

Notapor ~ » Mié Ene 09, 2013 3:18 pm

Asegúrate de que entiendes todas y cada una de las frases de tu documentación, a un nivel aplicado y totalmente implementado.

Hay muchas frases técnicas que están descritas de forma ambigua, y es posible implementarlas de una forma errónea, aunque sea aparentemente o de hecho parcialmente correcta.

Debes asegurarte de hacer una lista de todas las alternativas, de significados no ambiguos, para cada frase, para luego ver qué es lo que debe significar realmente.

Esto puede tardar varios días, incluso el doble o el triple de lo normal (unos 3 días), de modo que podría llevarse unos 6 a 9 días.
Imagen
IP for hosts file (email udocproject@yahoo.com to get updates if website becomes offline):
Código: Seleccionar todo
190.150.9.244 archefire.org



See what I'm doing in real time:
Main Desktop 1
Main Desktop 2
Avatar de Usuario
~
Site Admin
 
Mensajes: 2958
Registrado: Sab Nov 10, 2012 1:04 pm

Re: Fundamentos de depuración

Notapor ~ » Jue Ene 10, 2013 9:18 pm

Hay algunas preguntas que solo se pueden responder una vez que nos topamos con problemas a nivel de implementación, que de otra manera no podríamos llegar a conocer ni entender.

Cuando sentimos que ni siquiera sabemos qué necesitamos preguntar, es cuando estamos en una situación en la que necesitamos implementar, sea como sea, para poder tener preguntas.

Entonces, al buscar en Internet basándonos en estas dudas, es como podemos llegar a encontrar el material más interesante posible, y así me lo demuestra mi experiencia en desarrollo de sistemas operativos, que cuando inicié era la forma en la que lograba encontrar mucho material valioso, con esta técnica que antes no podía definir pero que usaba básicamente de forma instintiva.
Imagen
IP for hosts file (email udocproject@yahoo.com to get updates if website becomes offline):
Código: Seleccionar todo
190.150.9.244 archefire.org



See what I'm doing in real time:
Main Desktop 1
Main Desktop 2
Avatar de Usuario
~
Site Admin
 
Mensajes: 2958
Registrado: Sab Nov 10, 2012 1:04 pm

Re: Fundamentos de depuración

Notapor ~ » Jue Ene 31, 2013 5:05 am

Es común que tengamos idea de lo que un programa debería hacer, y cómo, a nivel intuitivo.

Pero es necesario que seamos capaces de ver lo que el programa realmente está haciendo, y esto lo logramos viendo los datos relevantes que está produciendo.

Para aprovechar esto, necesitamos el conjunto de datos más simple posible que genera errores y anotar, con papel y lápiz (o en un archivo de texto temporal, o en un mapa de bits, etc., de tratarse de multimedia, por ejemplo), paso a paso, los valores que estamos recibiendo.

Al mismo tiempo, tenemos que identificar el código que genera esos valores y que corre, y comparar lo que debería ser con lo que realmente se está produciendo.

Esta simple medida es capaz de hacernos distinguir rápidamente cuáles son los problemas que relamente necesitamos solucionar en el código, especialmente cuando sabemos lo que el código tiene la intención de hacer (pero que está haciendo mal).





Necesitamos un "protocolo" para aptovechar la depuración y documentar las soluciones.

La programación depurativa es normalmente la más volátil, y de esta no queda código, cometarios ni documentación por lo general, porque la transición entre el error y la solución destruye los datos intermedios de lo que se hizo y cómo.

Así que necesitamos escribir todo el proceso que seguimos durante una depuración, aunque sea de la forma más escueta, y escribir en negrita o con otros métodos de resaltar código fuente y texto, etc., las soluciones, para documentar eficientemente el proceso y los detalles que debemos tomar en cuenta.

Más que detalles de la depuración, estos son los detalles menos intuitivos y que más tenderemos a olvidar cada vez que volvamos a escribir ese mismo tipo de código o implementación, pero con esto tendremos una librería de detalles a recordar, a nivel solucionado.
Imagen
IP for hosts file (email udocproject@yahoo.com to get updates if website becomes offline):
Código: Seleccionar todo
190.150.9.244 archefire.org



See what I'm doing in real time:
Main Desktop 1
Main Desktop 2
Avatar de Usuario
~
Site Admin
 
Mensajes: 2958
Registrado: Sab Nov 10, 2012 1:04 pm

Re: Fundamentos de depuración

Notapor ~ » Jue Ene 31, 2013 5:10 am

Después de esto, necesitamos determinar formas eficientes para depurar un programa provisional en desorden y muy grande, pero que es la base para crear un programa formal y más avanzado, además de ser capaces de extraer de forma completa y correcta todos los trucos útiles de este, y empacarlos en librerías y APIs.

Especialmente cómo aprovechar el tiempo en el frecuente caso en el que hemos trabajado mucho un día con gran concentración, y el siguiente día no logramos concentrarnos, por lo que perdemos alrededor de 12 horas solo en recuperar energías y volver a concentrarnos (tal vez este tipo de esfuerzo mental intenso siempre requerirá un descanso fisiológico).
Imagen
IP for hosts file (email udocproject@yahoo.com to get updates if website becomes offline):
Código: Seleccionar todo
190.150.9.244 archefire.org



See what I'm doing in real time:
Main Desktop 1
Main Desktop 2
Avatar de Usuario
~
Site Admin
 
Mensajes: 2958
Registrado: Sab Nov 10, 2012 1:04 pm

Re: Fundamentos de depuración (Depuración en Paralelo)

Notapor ~ » Vie Mar 11, 2016 12:54 pm

ICON >> Ver la grabación de texto que corresponde a este bloque de trabajo (2016-03-09) << ICON

Detectar el consumo de recursos y la cantidad de RAM y sobre todo de CPU disponible. De este modo podemos decidir de forma màs inteligente si esperar y anunciarle al usuario, si guardar el entorno y anunciarle al usuario. Detectar tanto el consumo propio como el consumo del resto del sistema.

http://google.com/search?q=detect%20cpu%20usage%20osdev
http://google.com/search?q=detect%20cpu%20usage%20windows
http://google.com/search?q=detect%20cpu%20usage%20linux
http://google.com/search?q=detect%20cpu%20usage%20javascript%20html5



En lugar de usar instrucciones directas (como <code>variable++</code>), usar una interfaz de depuración para hacer logs y para manipular de segunda mano dichas acciones.


Agregar selección de sintaxis y de visor.

La mejor forma de mantener las ideas de alto nivel cerca del lugar y entorn en las que se originaron, es escribiendo de forma paralela las ideas en los temas en las que los encontramos, aunque no tengan nada que ver.


-MY SUBCONSCIOUS-: Can save other recordings, can encapsulate their data in evaluetion classes so to not contaminate and actually overwrite the main recording

-MY CONSCIOUS: (to import and find data with the dictionary/search engine... maight need Server-Side JavaScript).





High Ideas as Tasks

Task Counter to Remember How Many Tasks (eventually more than 7)

Detect how many resources a Task needs to stay in memory (naturally without effort, or whether it needs to be drawn).

Stack Pointer of High Ideas/Tasks to avoid the inclusion of noise data.

Keep the last High Idea as the last thing in memory in the Noise Channel.

Associate each task with a number with the wave repetition technique. Use detachment of verbality once you get it written into working/executable memory.


To remember if we completed a Task, pay full attention and satisfaction to the result (e.g., File Sizes for final files and programs, file locations, mental and real images for actions, main variables and program tails for the next level for programs, etc...).

Ask after writing more deeply into memory:
Didn't you forget to execute visually?





Gracias a lo anterior pude hacer un icono propio para la Grabadora de Texto.

-INSTRUCCIONES/TAREAS/IDEAS-

TSKCTR.1.

1.Expertos en recalcular así como LZW y otros algoritmos (esto da un marco de trabajo de escalabilidad y retrocompatibilidad muy aumentada). En lugar de guardar todos los datos de forma estática, debemos recalcular tanto como se pueda recalcular en tiempo de ejecución, sea obvio o no, sea poco o mucho en datos, etc..., pero esto hace todo más portable, reusable y resitente contra la necesidad de reimplementación constante.


TSKCTR.1.

1. El cerebro recalcula aunque se tarde, y por eso hay ideas basadas en una base que no se puede eliminar. Recalcula y/o descomprime hacia un contenido virtual sobre el que tiene que reprocesar ante las distracciones, el rudio que degrada la continuidad de los procesos lógicos e hilos de pensamientos, etc., además de las redes neuronales concretas.

[merge] -- pequeña instrucción de texto y unión de tareas, después de ejecutarlas y analizarlas, pero realizado automaticamente por nuestro cerebro.

Encontrar un buscador de snapshots de sitios web.
Imagen
IP for hosts file (email udocproject@yahoo.com to get updates if website becomes offline):
Código: Seleccionar todo
190.150.9.244 archefire.org



See what I'm doing in real time:
Main Desktop 1
Main Desktop 2
Avatar de Usuario
~
Site Admin
 
Mensajes: 2958
Registrado: Sab Nov 10, 2012 1:04 pm

Fundamentos de depuración (Descifrar con Pasos de Receta y Depuración por Ejecución Inmediata con Pasos Intermedios y Finales Detectables)

Notapor ~ » Dom Abr 24, 2016 1:15 am

ICON >> Ver la grabación de texto que corresponde a este bloque de trabajo << ICON

INTENTA DOCUMENTAR AL FINAL DE LO QUE PENSASTE NO SOLO EL CÓDIGO SINO QUE LA DESCRIPCIÓN DE LA SOLUCIÓN ELEGIDA.


Empieza por resolver, implementar y limpiar la jerarquía lógica de código para probarla del modo más inmediato, y tener una versión usable de un proyecto, por más simple que sea, pero que sea una realidad, aunque sea presentada como un caso de prueba, un ejemplo ejecutable, para uno o algunos casos específicos.

También busca la forma de determinar cómo probar cada tipo de código de forma efectiva en su propio contexto, sea este matemático y gráfico, sonoro, basándose en comprimir o generar archivos y probando que puedan ser abiertos por otros que sean versiones formales, como generar archivos TAR y abrirlos sin problema con WinZIP, WinRAR, Aladdin Expander, StuffIt, PeaZIP, 7-ZIP, etc...






Además, usa la técnica de agrupación y anotación manual (con la mano izquierda o derecha, para activar diferentes modos y niveles mentales) en la que tomamos nota a grandes y gruesos rasgos de las acciones tomadas, aunque de una manera tecnificada en la que se entiende y es posible luego alcanzar niveles de complejidad más altos, tanto como para entender y descifrar el código (también podemos usar la Grabadora de Texto para descifrar poco a poco, pero descifrar el código al explicar renglón por renglón bloques lógicos de código que pueden comprender más de una línea de código, es lo importante aquí).

Al explicar cada paso técnico como a una receta, podemos tanto copiar por bloques a una grabación de texto de forma rápida (para no quedarse atrás en proyectos de alta velocidad de actualización de versiones) como también encontrar más adelante puntos en los que podemos mejorar deficiencias, agregar comentarios sobre dichos pasos lógicos, y en general implementar nuestras propias actualizaciones y adiciones, insertar cosas entre el código y lo más importante, finalmente reescribir el código desde la Grabadora de Texto de una forma en la que podamos ir paso a paso mostrando el orden en el que se creó, desde la simple consola o ventana hasta la aplicación completa, para aprender al nivel más profesional disponible de todo el código fuente existente, y también de pasos lógicos provenientes de la ingeniería inversa.

Y no solo tomar en cuenta el ámbito de depuración y detección sensorial de funcionalidad correcta, sino que también tomar en cuenta cómo compilar y usar el programa, recordando preguntarse qué tipo de datos usará, QUÉ CASOS SON LOS ORIGINALES QUE RESOLVIÓ PARA EXISTIR, cómo se mira cuando corre y qué herramientas y sistema operativo/distribución de Linux y exactamente con que herramientas se debe compilar.



Por ahora, estoy pensando que para tener un entorno de desarrollo utilizable para cualquier proyecto, sea Linux o Windows, necesito tener suficiente espacio en disco como para instalar TODAS las librerías y TODOS los programas de desarrollo en TODAS sus versiones de número y plataforma, de una manera en las que no generen conflicto entre sí.

Pasar instalando librerías y herramientas constantemente hasta tenerlas todas listas, para que cuando se quiera compilar algo, ya esté listo solo de hacerlo, teniendo ya todas las herramientas, archivos de cabecera y librerías de dependencia ya instaladas desde hace muchísimo atrás como parte de una tarea general y global de desarrollo y mantenimiento de software.
Imagen
IP for hosts file (email udocproject@yahoo.com to get updates if website becomes offline):
Código: Seleccionar todo
190.150.9.244 archefire.org



See what I'm doing in real time:
Main Desktop 1
Main Desktop 2
Avatar de Usuario
~
Site Admin
 
Mensajes: 2958
Registrado: Sab Nov 10, 2012 1:04 pm


Volver a Ideas y Técnicas de Programación

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 9 invitados


cron