代码之家  ›  专栏  ›  技术社区  ›  Vitor Py

MonoDevelop中如何进入框架源代码

  •  8
  • Vitor Py  · 技术社区  · 15 年前

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

    我正在运行opensuse11.3中的香草monodevel。

    4 回复  |  直到 15 年前
        1
  •  5
  •   Greg Biles    15 年前

    这是一个旧的帖子,但我今天偶然发现它寻找答案,所以希望它能帮助其他人。只要取消选中“DoNotStepintoFrameworkCode”就行不通,除非您的源代码位于PDB/MDB文件所指向的位置。在我的框中,它在“/usr/src/packages/BUILD/mono-2.10”中查找源代码。

    为了明确地找出它应该放在哪里,生成并注销一个异常,该异常包含一个涉及框架的堆栈跟踪(例如new-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 ---
    
        2
  •  4
  •   Lex Li    13 年前

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

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

    然后确保在monodevelop中未选中“donotsteppintoframeworkcode”,它应该能够找到源代码。

        3
  •  2
  •   Mikayla Hutchinson    15 年前

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

        4
  •  0
  •   Community Mohan Dere    9 年前

    我没钱 apt-get source 在Arch Linux中的选项,所以我作为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
    

    而不是这些/构建路径使用您自己的相应 Greg's answer .