MonoDevelop中如何进入框架源代码

MonoDevelop中如何进入框架源代码,mono,monodevelop,Mono,Monodevelop,在MonoDevelop中调试项目时,如何进入Mono框架源代码 我正在从openSUSE 11.3运行香草MonoDevelop。首先,您的Mono类库必须具有指向框架源文件的调试符号。然后您应该取消选中MD debugger options中的“Do not step into framework code”选项。这是一篇旧文章,但我今天偶然发现了它,希望它能帮助其他人。如果PDB/MDB文件所指向的位置没有源代码,只需取消选中“请勿进入框架代码”就无法工作。在我的框中,它在“/usr/sr

在MonoDevelop中调试项目时,如何进入Mono框架源代码


我正在从openSUSE 11.3运行香草MonoDevelop。

首先,您的Mono类库必须具有指向框架源文件的调试符号。然后您应该取消选中MD debugger options中的“Do not step into framework code”选项。

这是一篇旧文章,但我今天偶然发现了它,希望它能帮助其他人。如果PDB/MDB文件所指向的位置没有源代码,只需取消选中“请勿进入框架代码”就无法工作。在我的框中,它在“/usr/src/packages/BUILD/mono-2.10”中查找源代码

为了明确它应该放在哪里,生成并注销一个异常,该异常包含涉及框架的堆栈跟踪(例如新的SqlConnection(null)),它将向您显示在其中查找源的文件位置。例如:

  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 ---

如果您只是在设置Mono环境,那么答案的一个关键部分就是在哪里安装源文件。对于Ubuntu Natty上的标准Mono构建,这是/build/buildd。因此,要获得mono 2.6.7(Ubuntu版本)的源代码,请执行以下操作:


然后确保在monodevelop中未选中“不要进入框架代码”,它应该能够找到源代码。

我在Arch Linux中没有
apt get source
选项,因此我作为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

不要使用这些/构建路径,而是相应地使用您自己的路径。

我非常有兴趣了解如何做到这一点。这里似乎有一些信息,它看起来像是实现了一个功能请求:我知道MonoDevelop for Mac在首选项中有这个设置,但我不确定如何获取正确的调试源以及如何从MonoDevelop中设置路径。正如在链接中一样,当输入框架代码时,我可以看到堆栈跟踪,但我无法使用IDE进行调试的所有功能。效验如神编辑格式以使步骤更可见。
# 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