Buscando preguntas o cómo crear un depurador nuevo

Prestamos mucha atención a las herramientas de desarrollo: participamos en acalorados debates sobre editores (¿Vim o Emacs?), Pasamos mucho tiempo personalizando el IDE a nuestro gusto y elegimos cuidadosamente los lenguajes de programación y las bibliotecas que son cada día mejores y más convenientes. Sin embargo, aquí se puede distinguir una categoría que, por alguna razón, permanece inmerecidamente olvidada: los depuradores no han cambiado mucho durante la última década, aunque siguen siendo una de las herramientas básicas para detectar errores y navegar por el código.





Imagen: Timothy Dykes @timothycdykes, unsplash.com



La mayoría de las veces, preferimos agregar rápidamente un par de prints en lugar de colocar un punto de interrupción en el lugar correcto y recorrerlo con un depurador, y la pregunta "¿por qué?" no deja de divertirme; después de todo, los registros y los mensajes de correo printelectrónico proporcionan información limitada y no permiten la interacción interactiva con el proceso en ejecución (¡y los depuradores pueden incluso trabajar con procesos "muertos"!).



Una de las principales razones que veo es la falta de un progreso significativo en el desarrollo de depuradores.



GDB , . , 4K, - , . , IDE VS Code ( , JavaScript), - - .



. Rust, — , , (, Make 1976 ).



: Rust "" — , , . " ", , . , , — , .



. GDB LLDB, : (Go Rust) , C C++. — , — , . — Go Java LLDB.



, ? , Rust! , . Delve , ( — Go) , x86-64 Windows/Linux/macOS.



, , , . : - , ( - ). REPL Jupyter ( , , ).



, , , , , .



, Headcrab, . : , , . , — - .



Si está interesado en participar en el desarrollo, estaremos encantados de ayudarle, incluso si la programación del sistema todavía es nueva para usted. También puede ayudar si comparte su experiencia de depuración: ¿qué problemas encontró, qué herramientas usa y qué le gustaría ver en el nuevo depurador?



Gracias por leer este texto.




All Articles