Puedo llamar a un método en Visual Studio y el intento de depuración se va por encima de la pila de llamadas.

Algunas de las filas en que están marcados «código Externo».

¿Qué significa exactamente esto? Los métodos de una .archivo dll se han ejecutado?

Pregunta estúpida; pero necesita una respuesta definitiva.

  • Eso no es cierto, he tenido código no en la solución disponible para la depuración de antes. Creo que es la falta de información de símbolos como Tigran dice.
  • Bonito post sobre el tema: blogs.msdn.com/b/zainnab/archive/2010/10/24/…
  • «Si Sólo Mi Código no está habilitado, [Mostrar Código Externo] no está disponible en el menú contextual y sistema de código se muestra por defecto.»
  • «La Mostrar Código Externo que se guarda para el usuario actual del analizador. Se aplica a todos los proyectos en todos los idiomas que están abiertos por el usuario.»
InformationsquelleAutor Simon Kiely | 2012-07-24

6 Comentarios

  1. 13

    Estas son las líneas donde el símbolo de información no está disponible actualmente para Visual Studio Debugger. En otras palabras Debugger no es capaz de recuperar el código de la línea ejecutado.

    Escribí actualmente porque el símbolo de información se puede descargar o instalación.

    Para más información puede leer esto : Cómo: Especificar las Ubicaciones de los Símbolos y el Comportamiento de Carga de

    • MSDN tiene información más precisa sobre lo que se considera «Mi Código». Hay diferencias entre C# y C++, y no es el código con el símbolo de información disponible que aún se considera un código externo.
    • Yo símbolos ya están cargados, usted necesidad justa de permitir que el código externo que se muestra. La respuesta de abajo muestra cómo stackoverflow.com/a/31044557/6655465
  2. 33

    [Código externo] significa que no hay disponible información de depuración para que dll.

    Lo que puedes hacer es en Call Stack de la ventana haga clic en el botón derecho del ratón. A continuación, seleccione Show External Code esto se expanda [Código Externo] y se muestran los módulos que están siendo llamados.

    ¿Qué significa

    una vez que se expandió verá dll que se llama usted puede conseguir ubicaciones en el disco haciendo clic en Symbol Load Information...

    ¿Qué significa

    Esto abrirá el cuadro de diálogo que muestra las ubicaciones en el disco

    ¿Qué significa

    Si quieres depurar estos archivos externos que necesita para obtener .pdb archivos de la dll y el lugar en la misma carpeta que .dll

    esto debería permitir a Load symbols (menú en pantalla 2 por encima de Symbol Load Information) e iniciar la depuración.

    Más en llegar .los archivos pdb aquí.

    Y he aquí un ejemplo real de EF .pdb se genera

    Espero que esto te ahorra mucho tiempo.

    • Yo tenía que cargar los símbolos de la Modelos ventana de depuración en VS2017 (con ReSharper instalado); el Símbolo de Carga de la Información y comandos asociados no estaban presentes en la Pila de llamadas menú contextual.
  3. 4

    La notación ‘Código Externo» se refiere a todo lo que no pertenece a ‘Mi ‘ Código’.

    Que es la manera que se describe en la documentación de MSDN aquí Cómo: Utilizar la Ventana Pila de llamadas

    En código administrado, de forma predeterminada. la ventana Pila de llamadas oculta información para los no-código de usuario. > La siguiente notación aparece en lugar de la información oculta.

    <[Código Externo]>

    No-código de usuario es cualquier código que no es «Mi Código.»`

    Your Code es como se podría haber pensado todo lo que hice escribir por su propia cuenta. Así que con esta definición todo lo que pertenece a externo del archivo dll se omite en la traza de la pila de llamadas.

    Además, según el Cómo: Paso En Mi Código usted tiene la posibilidad de denegar el depurador para tratar de seguimiento no-código de usuario.

    Aquí usted encontrará la explicación de por qué user code en realidad es:

    Para distinguir el código de usuario de la no-código de usuario, Sólo Mi Código tiene en cuenta tres cosas: ADJUNTAR Archivos, los archivos PDB, y optimización.

  4. 2

    Esas líneas no se hace referencia por los símbolos de depuración que actualmente cargado.

    Este código puede ser la parte de un archivo DLL externo, o código nativo dentro del CLR. Si usted sabe que el módulo es, y tiene los símbolos de depuración para ellos, usted puede cargar en Visual Studio manualmente.

  5. 0

    puede utilizar el asociar al Proceso de acción en el menú Depurar depurar instancia de ejecución de la aplicación host. (proceso de ejecución tiene los símbolos de depuración .los archivos pdb ).

Dejar respuesta

Please enter your comment!
Please enter your name here