Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El agente del depurador es un asistente de depuración con tecnología de inteligencia artificial que funciona a través de gitHub Copilot Chat para ayudarle a reproducir, aislar y corregir errores mediante el control de la ejecución y la validación del trabajo en el estado en tiempo de ejecución en vivo. El agente es más potente cuando se le proporciona un objetivo claro y se le deja gestionar el flujo de trabajo de depuración de principio a fin.
El agente del depurador se destaca en escenarios en los que necesita demostrar que existe un error, comprobar que funciona una corrección, instrumentar código con puntos de interrupción y puntos de seguimiento y analizar pilas de llamadas complejas. Al combinar solicitudes en lenguaje natural con el control del depurador, puedes avanzar por los flujos de trabajo de reproducción, instrumentación, aislamiento y corrección de forma más eficiente que con la depuración manual por sí sola.
Cómo acceder al agente de depuración
Abra la ventana Copilot Chat (Ver>Copilot Chat de GitHub).
Seleccione Debugger en el menú desplegable de modo de la esquina inferior izquierda de la ventana del chat, o escriba
@debuggeren el cuadro de entrada del chat mientras está en el modo Agente.Introduce un comando que describa tu tarea de depuración, sustituyendo el texto de marcador de posición por los detalles específicos de tu escenario.
Reproducción y diagnóstico de errores
El Agente de depuración puede reproducir errores a partir de descripciones de incidencias y confirmar que existen en tu entorno de ejecución. Empiece indicándole al agente una descripción del error, un enlace a una incidencia de GitHub o un error de Azure DevOps, y deje que gestione todo el proceso.
Indicaciones de ejemplo:
Investigate/fix/debug the bug described in <issue link>. Reproduce the failure, find the root cause with the debugger, and propose a fix.
When I <do these steps>, I expect <expected result> but instead I see <actual result>. Debug the problem, find where the code goes wrong, and suggest a fix.
Create a minimal repro for the following issue, then run it under the debugger to confirm the failure and show me the runtime state that causes it: <bug description>.
Corregir la verificación y la validación
Una vez que tengas una corrección, ya sea creada por el agente o por ti, usa el Agente de depuración para verificar que la corrección resuelve el problema y que se recorren todas las rutas de código importantes.
Indicaciones de ejemplo:
Déle al agente una forma autosuficiente de demostrar que la corrección funciona, por ejemplo, con una prueba unitaria o un pequeño caso de reproducción en consola, y luego pídale que verifique un comportamiento específico en tiempo de ejecución.
Set breakpoints at <specific locations>, debug, and verify that <variable> has the value <expected value> and that <behavior> happens as expected.
I'm working on a change to make my code handle <new feature>. As part of that, I broke the following scenario: <repro steps>. Debug the problem and find where my code went wrong. Here are my changes: <paste diff here>
Instrumentación e inspección en tiempo de ejecución
El Agente del depurador puede establecer puntos de interrupción condicionales y puntos de seguimiento precisamente donde los necesite y, a continuación, ejecutar el proyecto para recopilar los datos que necesita. Este enfoque proporciona más visibilidad sin editar manualmente el código.
Indicaciones de ejemplo:
Set a breakpoint at the start of ProcessFile that breaks only when the file name starts with "data12345", then launch my project.
I need more visibility into <area of code>. Add tracepoints that log <the values you care about> at the key points in this flow, then run my project and show me the trace output.
Análisis de pila de llamadas y flujo de control
Cuando te detienes en un punto de interrupción o una excepción y necesitas comprender la ruta de ejecución, el agente de depuración puede analizar tu pila de llamadas y explicarte qué está haciendo el subproceso actual, incluido el flujo asíncrono.
Indicaciones de ejemplo:
Analyze the current call stack and explain what this thread is doing and how it got here, including the async flow. Point out the frame most likely responsible for <the problem>.
Why is my code taking the wrong branch and not reaching <this line>? Set a breakpoint there and run the app. If it isn't hit, set breakpoints at the upstream decision points and inspect the actual condition values to find where control flow diverges.
Sugerencia
También puede analizar la pila de llamadas con un solo clic: en la ventana Pila de llamadas, seleccione Analizar con Copilot, o use Analizar con Copilot en la vista Pilas paralelas / Hilos para escenarios con varios subprocesos.
Depuración de pruebas unitarias
El agente del depurador puede depurar pruebas con errores directamente desde el chat sin necesidad de iniciar primero el depurador.
Solicitud de ejemplo:
The test <TestName> is failing. Debug it, find the root cause of the failure, and suggest a fix.
Sugerencia
También puede iniciar la depuración de una prueba con errores desde el Explorador de pruebas o el indicador de CodeLens encima de la prueba en el editor y, a continuación, continuar la conversación con el agente del depurador desde allí. Esta es una forma sencilla de pasar a Copilot el contexto de la prueba que falla.
Procedimientos recomendados para el agente del depurador
Proporcione datos, no comandos. El agente de depuración no tiene acceso al shell ni a PowerShell, por lo que no puede ejecutar herramientas como
git.exepor ti. En su lugar, pegue la salida real. Por ejemplo, pegue el texto de un diff en lugar de decirle al agente que ejecute un comando diff.Deje que el agente controle la ejecución cuando instrumente el código. Copilot puede corregir errores en puntos de interrupción condicionales y puntos de seguimiento solo cuando es él quien controla la ejecución. Es preferible «establecer un punto de interrupción condicional... y ejecutar mi proyecto» en lugar de «establecer un punto de interrupción condicional» por sí solo.
Deja que el agente termine cuando entre en estado de pausa. Si el agente está controlando la ejecución y el chat sigue mostrando que Copilot está funcionando, no es necesario hacer nada. Para recuperar el control, seleccione el botón Detener en el chat.