2010-07-18 17 views
8

Al depurar un proyecto en MonoDevelop, ¿cómo puedo ingresar al código fuente de Mono Framework?Cómo ingresar al código fuente del Framework en MonoDevelop

Estoy ejecutando el MonoDevelop de vanilla de openSUSE 11.3.

+1

Estoy muy interesado en saber cómo hacerlo. Parece que hay algo de información aquí, parece que se implementó una solicitud de función: https://bugzilla.novell.com/show_bug.cgi?id=613000 Sé que MonoDevelop para Mac tiene esta configuración en las preferencias pero No estoy seguro de cómo adquirir la fuente de depuración correcta y cómo establecer la ruta desde MonoDevelop. Como en el enlace, puedo ver el seguimiento de la pila cuando se ingresa el código de la infraestructura, pero no puedo entrar en él con todas las características de la depuración usando el IDE. – fletcher

Respuesta

5

Esta es una publicación anterior, pero me encontré con que buscaba la respuesta hoy, así que espero que ayude a alguien más. Solo desmarque la opción "No entrar en el código de la estructura" no funcionará a menos que tenga la fuente en la ubicación a la que apuntan los archivos PDB/MDB. En mi cuadro, estaba buscando la fuente en "/usr/src/packages/BUILD/mono-2.10".

Para averiguar específicamente dónde debería ir, genere y cierre una excepción que contenga un seguimiento de la pila que involucre el marco (por ejemplo, nueva SqlConnection (null)) y le mostrará la ubicación del archivo que está buscando para la fuente de por ejemplo:.

at System.Net.Sockets.NetworkStream.Read (System.Byte[] buffer, Int32 offset, Int32 size) [0x00065] in /usr/src/packages/BUILD/mono-2.10/mcs/class/System/System.Net.Sockets/NetworkStream.cs:369 
    at Mono.Data.Tds.Protocol.TdsComm.Read (System.Byte[] buffer, Int32 offset, Int32 count) [0x00000] in /usr/src/packages/BUILD/mono-2.10/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/TdsComm.cs:630 
    --- End of inner exception stack trace --- 
2

En primer lugar, las bibliotecas de la clase Mono deben tener símbolos de depuración apuntando a los archivos fuente del marco. Luego, debe desmarcar la opción "No entrar en el código de la estructura" en las opciones del depurador de MD.

4

una parte clave de la respuesta Si tienes sólo la creación de un entorno Mono es donde instalar los archivos de origen. Para la versión estándar de Mono en Ubuntu Natty, esto es/build/buildd. Así que para obtener la fuente de mono 2.6.7 (la acumulación de Ubuntu), hacer:

sudo mkdir /build 
cd /build 
sudo mkdir buildd 
cd buildd 
sudo apt-get source mono 
sudo apt-get install mono-dbg 

A continuación, asegúrese de que tiene "No pise en código marco" sin comprobar en monodevelop y debe ser capaz de encontrar las fuentes.

+0

Acabo de probar en Ubuntu 12.04. Trabajar como un encanto. Editó el formato para hacer que los pasos sean más visibles. –

0

que no tienen la opción de apt-get source en Arch Linux, así que hicieron esto como root:

# git clone https://github.com/mono/mono.git /opt/mono-src 
# mkdir -p /build/mono/src 
# ln -s /opt/mono-src /build/mono/src/mono-4.6.1 

En lugar de éstos/construir caminos utilizar su propio consecuencia para Greg's answer.

Cuestiones relacionadas