es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo obtener el número de línea(s) en el StackTrace de una excepción lanzada en .NET 6 en Linux.

Estoy compilando bajo el marco de .NET 6 (también intenté con .NET Core 3.1) código en C# en Visual Studio.

Aunque funciona perfectamente en Windows, con las mismas opciones, no puedo obtener el número de línea(s) en el StackTrace de una excepción en Linux (Ubuntu 18.04).

  • Los archivos pdb están presentes.
  • Se instaló .NET 6 en la máquina Linux.
  • Modo de implementación: autocontenido (self-contained).
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Posibles razones para no obtener números de línea en la StackTrace de una excepción en Linux al compilar código C# en Visual Studio con .NET 6 Framework o .NET Core 3.1 y tener archivos pdb presentes podrían incluir:

    • Diferentes opciones o configuraciones predeterminadas para símbolos de depuración u optimizaciones para la plataforma Linux en comparación con Windows, como las banderas -O o -g para GCC o el tiempo de ejecución multiplataforma .NET.
    • Permisos faltantes o insuficientes para el usuario que ejecuta la aplicación o el depurador para acceder a los archivos pdb o los directorios de código fuente en la máquina Linux, lo cual puede requerir rutas o configuraciones diferentes a las de Windows.
    • Versiones incompatibles o desactualizadas de las dependencias o bibliotecas de tiempo de ejecución utilizadas por la aplicación o el SDK de .NET en la máquina Linux, lo cual puede requerir actualizar o instalar paquetes o SDK adicionales.
    • Errores o advertencias del compilador o enlazador que pueden afectar la generación o ejecución de los archivos pdb o archivos binarios en la plataforma Linux, como símbolos no resueltos o versiones conflictivas.
    • Problemas específicos de la plataforma relacionados con variables de entorno, sistemas de archivos, acceso a la red o políticas de seguridad en la máquina Linux que pueden afectar el comportamiento o la salida de la aplicación o el depurador, como perfiles de SELinux o AppArmor, firewalls o proxies.

Comments are closed.