Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

593
Visualizações
¿Cómo depuro el código fuente del marco .NET 4.6 en Visual Studio 2017?

Esto es lo que he intentado:

Realicé una nueva aplicación de consola (.NET Framework) en Visual Studio 2017.

Se agregó el siguiente código:

 static void Main(string[] args) { new Dictionary<int, int>().TryGetValue(3, out int x); //I want to step into TryGetValue() (this is just an example) }

Configuró los ajustes enumerados aquí: https://blogs.msdn.microsoft.com/sburke/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code/

Los símbolos confirmados se cargan en la ventana Módulos:

Símbolos mscorlib.dll cargados. 4.6.1586.0 construido por: NETFXREL2

Intenté: "Pasar a (F11)"

Probado: "Paso a lo específico" | "Sistema.Colecciones.Genérico.Diccionario.TryGetValue"

Ambos simplemente pasan de la raya.

Intenté configurar VS usando los detalles aquí: http://www.symbolsource.org/Public/Home/VisualStudio

Mismo resultado, el depurador pasa por encima de la línea.

He mirado la respuesta aquí: https://stackoverflow.com/a/12432029/297451

Pero esta versión no parece ser una actualización de seguridad, y una búsqueda de "site:support.microsoft.com/kb 4.6.1586.0" no arroja nada.

¿Qué estoy haciendo mal?

about 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Aquí está la respuesta, gracias a Hans Passant. Tenga en cuenta que esta solución plantea preguntas adicionales.

  1. Asegúrese de que https://referencesource.microsoft.com/ contenga la versión exacta que está depurando.

    • ¿Cómo? La fuente de referencia especifica ".NET Framework 4.6.2", pero la versión de un módulo es algo así como: "4.6.1586.0"
    • Es posible que deba desinstalar las actualizaciones de seguridad como se explica aquí: ¿Cómo habilita "Habilitar paso a paso de origen de .NET Framework"?
  2. Configure Visual Studio como se especifica aquí: https://referencesource.microsoft.com/setup.html

    • Desmarque "Habilitar solo mi código"
    • Marque "Habilitar paso a paso de origen de .NET Framework" (este debería haber sido el único paso necesario)
    • Marque "Habilitar compatibilidad con el servidor de origen"
    • Desmarque "Requerir archivos de origen para que coincidan exactamente con la versión original"
  3. Confirme que los símbolos se cargan en la ventana Módulos, con la indexación de fuentes incluida.

    • ¿Cómo puede saber si la indexación de fuentes está incluida? La ventana de módulos no especifica si un PDB ha eliminado la información de origen.

Microsoft podría hacer que este proceso sea mucho más sólido al proporcionar mensajes de error útiles en lugar de fallar silenciosamente.

about 4 years ago · Santiago Trujillo Relatório

0

Utilice la función de servidor de símbolos en JetBrains dotPeek . Funcionó de maravilla para mí después de luchar para que la funcionalidad estándar funcionara:

  1. Ejecute dotPeek y vaya a Herramientas > Opciones... > Servidor de símbolos.
  2. Asegúrese de que esté seleccionado "Todos los ensamblajes" y copie la URL del servidor de símbolos local en el portapapeles. Inicie el servidor de símbolos dotPeek haciendo clic en él en el menú Herramientas.
  3. En Visual Studio, vaya a Herramientas > Opciones... > Depuración > Símbolos y agregue la URL del servidor dotPeek a la lista. Mueva el servidor de símbolos dotPeek lo más arriba posible en la lista y desmarque todos los demás servidores de símbolos en la lista ( en particular, los "Servidores de símbolos de Microsoft" y "Servidor de símbolos de NuGet.org" no deben estar seleccionados ).
  4. Comience a depurar: cuando intente ingresar al código fuente de Framework, verá que dotPeek está descompilando el ensamblaje por usted, y luego estará en su código fuente.

Si esto no funciona, probablemente se deba a que Visual Studio descargó previamente los símbolos "incorrectos" para el ensamblado en cuestión de Microsoft/NuGet y los está usando en lugar de preguntar a dotPeek. Para verificar esto, comience a depurar y busque el ensamblaje relevante en la lista de módulos (Depurar> Windows> Módulos): elimine el archivo PDB en la ruta que se muestra en "Archivo de símbolos" para ese ensamblaje , luego reinicie la depuración y dotPeek debería entrar en acción. .

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda