{"meta":{"title":"Aprender a depurar con GitHub Copilot","intro":"Identifica y corrige errores en el código solicitando ayuda a GitHub Copilot.","product":"Comienza","breadcrumbs":[{"href":"/es/get-started","title":"Comienza"},{"href":"/es/get-started/learning-to-code","title":"Aprender a codificar"},{"href":"/es/get-started/learning-to-code/learning-to-debug-with-github-copilot","title":"Depuración con Copilot"}],"documentType":"article"},"body":"# Aprender a depurar con GitHub Copilot\n\nIdentifica y corrige errores en el código solicitando ayuda a GitHub Copilot.\n\nEncontrar y corregir errores en el código puede ser frustrante, especialmente si acabas de empezar como desarrollador. Afortunadamente, herramientas como GitHub Copilot pueden identificar y solventar rápidamente los errores, lo que te permite centrarte en un trabajo más creativo e interesante.\n\n## Requisitos previos\n\nEn los ejemplos de este artículo, se asume que estás usando GitHub Copilot para depurar un proyecto en Python en Visual Studio Code (VS Code). Para seguir los ejemplos, debes:\n\n* Complete la [configuración de Visual Studio Code con Copilot](https://code.visualstudio.com/docs/copilot/setup-simplified) en la documentación de Visual Studio Code.\n* [Download Python](https://www.python.org/downloads/).\n* Instale la extensión [Python para Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=ms-python.python).\n\n## Aprender a depurar a través de ejemplos\n\nHay dos situaciones principales que encontrarás al intentar ejecutar código con errores:\n\n* El código se cierra antes de que termine de ejecutarse y recibirás un mensaje de error.\n* El código se ejecuta sin errores, pero la salida es diferente de la esperada.\n\nAfortunadamente, Copilot puede ayudar a depurar el código en ambas situaciones. Para obtener información sobre cómo hacerlo, consulta los ejemplos siguientes.\n\n### Depuración de errores con GitHub Copilot\n\nAl ejecutar código con errores, a menudo recibirás un mensaje de error. El mensaje te indica el archivo y la línea donde se produjo el error y describe brevemente lo que salió mal. Sin embargo, los mensajes de error pueden resultar confusos. Para comprender y corregir completamente el error, podemos pedir ayuda a Copilot.\n\nVamos a probar esto con un repositorio de ejemplo: [`new2code/debug-with-copilot`](https://github.com/new2code/debug-with-copilot).\n\n#### Clonación del repositorio de ejemplos\n\nEn primer lugar, es necesario crear una copia local del repositorio:\n\n1. ```\n          [Empieza clonando el repositorio new2code/debug-with-copilot](vscode://vscode.git/clone?url=https://github.com/new2code/debug-with-copilot) en VS Code. <!-- markdownlint-disable-line GHD003 -->\n   ```\n2. Elige una ubicación para guardar el repositorio en el equipo y, a continuación, haz clic en **Seleccionar como destino del repositorio**.\n3. Cuando se te solicite, abre el repositorio.\n\n#### Ejecución del archivo con errores\n\nAhora, vamos a ejecutar el archivo [`bugged_dice_battle.py`](https://github.com/new2code/debug-with-copilot/blob/main/bugged_dice_battle.py). Este programa simula una batalla de dados entre dos jugadores.\n\n1. En VS Code, abre y revise el archivo `bugged_dice_battle.py`.\n\n2. Abra la paleta de comandos presionando <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>P</kbd> (Windows o <kbd>Cmd</kbd>+<kbd>Shift</kbd>+<kbd>P</kbd> (Mac).\n\n3. Escriba `Terminal: Create New Terminal` y presione <kbd>Entrar</kbd>.\n\n4. En la pestaña del terminal, pega el siguiente comando.\n\n   Windows:\n\n   ```shell copy\n   py bugged_dice_battle.py\n   ```\n\n   Mac o Linux:\n\n   ```shell copy\n   python bugged_dice_battle.py\n   ```\n\n5. Presiona <kbd>Entrar</kbd> para ejecutar el programa.\n\nDesafortunadamente, obtenemos un texto de error en nuestro terminal que termina con el siguiente mensaje:\n\n> TypeError: solo puede concatenar str (no \"int\") a str\n\n#### Depuración del archivo\n\nPara comprender lo que significa este error, [abra Chat de Copiloto en VS Code](vscode://GitHub.Copilot-Chat?ref_product=copilot\\&ref_type=engagement\\&ref_style=text) y luego pegue y envíe la siguiente solicitud: <!-- markdownlint-disable-line GHD003 -->\n\n```text copy\nExplain in depth why my code produces the following error and how I can fix it:\n\nTypeError: can only concatenate str (not \"int\") to str\n```\n\nCopilot responderá que se produce el error porque estamos intentando concatenar los enteros `die_1` y `die_2` en las cadenas, y solo se pueden concatenar cadenas en cadenas.\n\nTambién proporcionará una **versión actualizada del código** que corrige el error mediante la función `str()` para convertir los enteros en cadenas antes de concatenarlos. Practica el paso final de depuración aplicando las sugerencias de Copilot al archivo.\n\n### Depuración de una salida incorrecta con GitHub Copilot\n\nA veces, se ejecuta código con errores sin producir ningún error, pero la salida es claramente incorrecta. En este caso, la depuración puede ser más difícil porque VS Code no puede indicarle la ubicación ni la descripción del error.\n\nPara estos errores \"invisibles\", Copilot es particularmente útil. Vamos a obtener cierta experiencia práctica con el otro archivo en nuestro repositorio de ejemplo: `bugged_factorial_finder.py`. Es un programa de Python que se supone que calcula un factorial.\n\n#### Ejecución del archivo con errores\n\nEn primer lugar, vamos a ejecutar el programa para ver la salida incorrecta:\n\n1. Abre y revisa el archivo `bugged_factorial_finder.py`.\n\n2. En el terminal que creaste anteriormente, pega el siguiente comando.\n   Windows:\n\n   ```shell copy\n   py bugged_factorial_finder.py\n   ```\n\n   Mac o Linux:\n\n   ```shell copy\n   python bugged_factorial_finder.py\n   ```\n\n3. Presiona <kbd>Entrar</kbd> para ejecutar el programa.\n\nDesafortunadamente, el código no funciona según lo esperado. Queremos que devuelva `720`, el valor correcto de 6 factoriales, pero la salida es mucho mayor que esa.\n\n#### Depuración del archivo\n\nPara comprender lo que salió mal, [abra Chat de Copiloto](vscode://GitHub.Copilot-Chat?ref_product=copilot\\&ref_type=engagement\\&ref_style=text) y envíe la siguiente solicitud: <!-- markdownlint-disable-line GHD003 -->\n\n```text copy\nWhy is the output of this code so much higher than expected? Please explain in depth and suggest a solution.\n```\n\nCopilot señalará que, al estar usando el operador `*=`, en realidad estamos multiplicando `factorial` por `i`**y**`factorial`. En otras palabras, estamos multiplicando por un `factorial` extra para cada iteración del bucle.\n\nPara corregir este error, Copilot sugerirá código que quite el `factorial` extra de la ecuación o que cambie el operador `*=` a `=`. ¡Haz ese cambio ahora!\n\n## Depuración de tu propio proyecto\n\nAhora que has practicado la depuración de algunos programas sencillos con Copilot, puedes usar las mismas metodologías para buscar y corregir errores ocultos en tu propio trabajo.\n\nPor ejemplo, para depurar un mensaje de error generado por el código, envía a Copilot la siguiente solicitud:\n\n```text copy\nExplain in depth why my code produces the following error and how I can fix it:\n\nYOUR-ERROR-MESSAGE\n```\n\nDe lo contrario, si estás depurando un resultado incorrecto, pregunta a Copilot por qué el resultado es incorrecto y cómo puedes corregirlo. Para obtener los mejores resultados, proporciona tanto contexto como sea posible sobre cómo la salida difiere de tus expectativas.\n\nCon estas tácticas, tienes todo lo necesario para corregir errores en tu proyecto.\n\n## Pasos siguientes\n\nA medida que continúes codificando, es probable que encuentres escenarios de problemas y errores específicos que son difíciles de depurar. Para ver una lista de posibles incidencias y ejemplos de solicitudes de Chat de Copiloto para corregirlas, consulte [Depuración de errores](/es/copilot/copilot-chat-cookbook/debugging-errors)."}