/ / Cómo obtener información de depuración de información de archivo + línea en el ensamblaje de Linux mono - mono, debian

Cómo obtener información de depuración de información de línea + archivo en el ensamblaje mono de Linux - mono, debian

Tengo una excepción anormal en un ensamblaje mono de Linux.

Unhandled Exception: System.ObjectDisposedException: The object was used after being disposed.
at System.Net.Sockets.Socket.ReceiveAsync (System.Net.Sockets.SocketAsyncEventArgs e) [0x00000] in <filename unknown>:0
at cloudBus.TCPConnection.Receive () [0x0003d] in /home/xyz/cloudBus/TCPServer.cs:26
...

Quiero obtener el número de línea y el nombre de archivo para ReceiveAsync. Compilé con el indicador -debug y ejecuté con --debug. También obtengo full mono de Git y lo compilo, pero no puedo obtener información de depuración.

¿Qué opción utilizar para obtener la información de la línea de excepción? Creo que esta es una opción mono make pero no la encuentro.

Cuando lo encuentre, intentaré corregir este error, solo se puede reproducir en Linux, e informar sobre la corrección.

Respuestas

0 para la respuesta № 1

Tú podrías construir Mono desde la fuente, si quieres rastrear este problema en la versión git HEAD.

Por otro lado, Debian también debería tener disponibles versiones de depuración / desarrollo de Mono, que le darán información de depuración para su versión instalada.


0 para la respuesta № 2

He encontrado.

Para crear un marco con información de depuración, en el archivo mono / mcs / build / config.make

agrega la linea

MCS_FLAGS = -debug


0 para la respuesta № 3

En Debian, el paquete mono-dbg proporciona información de depuración para System. *. Para su propio código eche un vistazo a ¿Información de depuración mono con excepciones en debian? .