关于 MonoDevelop on Linux 单步调试问题的解决

Posted Zongsoft

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于 MonoDevelop on Linux 单步调试问题的解决相关的知识,希望对你有一定的参考价值。

在 MonoDevelop 中默认是关闭对外部程序集(.dll)的调试,可通过如下步骤来解决这个问题。

  1. 通过菜单【Edit】-【Preferences】-【Debugger】进入到调试器的设置页,把“Debug project code only; do not step into framework code.”选项取消。

  2. 如果你的应用是个控制台程序,还需要进入到该项目(鼠标右击该项目,在弹出菜单中选择“Options”)的【运行】设置页中,将“运行于外部控制台”的设置项取消掉。

  3. 但是,就算这样也无法单步调试进入到外部程序集,原因是还缺少Mono的调试符文件,即(*.dll.mdb)文件。所以还需要将所有待调试的外部程序集文件对应的.mdb文件拷贝到当前Host项目的“bin/Debug”目录中。 注意:如果外部程序集更新了代码,记得再同步拷贝一次对应的.mdb文件过来。

  4. 每次都手动复制还是很痛苦的,尤其是外部程序集较多的时候,所以创建一个复制脚本还是很有必要的。 在Host项目的目录中创建一个名为:deploy.sh 的脚本文件,使用命令:vi deploy.sh 然后在vi编辑器的第一行写入:#!/bin/bash,第二行开始编写拷贝命令。编辑完成后,记得使用命令:chmod 777 deploy.sh 去开启其可执行属性。

  5. 在 MonoDevelop 中进入Host项目的属性设置对话框,在里面的【构建】-【自定义命令】设置页中添加一个“After Build“命令项:deploy.sh

至此,就可以愉快的在 MonoDevelop 中对外部库进行单步调试了!

以上是关于关于 MonoDevelop on Linux 单步调试问题的解决的主要内容,如果未能解决你的问题,请参考以下文章

关于MonoDevelop一些常见问题的解决

无法在嵌入式Linux上构建MonoDevelop

MonoDevelop + NAudio + Ubuntu Linux 告诉我找不到 Winmm.dll?

如何在 Linux 下使用 MonoDevelop 的项目中使用 Console.ReadLine()

如何在linux中的c#中将图标插入单声道应用程序

在 CentOS 5.x/6.x 上安装 Mono 和 Monodevelop