关于 MonoDevelop on Linux 单步调试问题的解决
2016-03-31 16:13
555 查看
在 MonoDevelop 中默认是关闭对外部程序集(.dll)的调试,可通过如下步骤来解决这个问题。
通过菜单【Edit】-【Preferences】-【Debugger】进入到调试器的设置页,把“Debug project code only; do not step into framework code.”选项取消。
如果你的应用是个控制台程序,还需要进入到该项目(鼠标右击该项目,在弹出菜单中选择“Options”)的【运行】设置页中,将“运行于外部控制台”的设置项取消掉。
但是,就算这样也无法单步调试进入到外部程序集,原因是还缺少Mono的调试符文件,即(*.dll.mdb)文件。所以还需要将所有待调试的外部程序集文件对应的.mdb文件拷贝到当前Host项目的“bin/Debug”目录中。 注意:如果外部程序集更新了代码,记得再同步拷贝一次对应的.mdb文件过来。
每次都手动复制还是很痛苦的,尤其是外部程序集较多的时候,所以创建一个复制脚本还是很有必要的。 在Host项目的目录中创建一个名为:
在 MonoDevelop 中进入Host项目的属性设置对话框,在里面的【构建】-【自定义命令】设置页中添加一个“After Build“命令项:
至此,就可以愉快的在 MonoDevelop 中对外部库进行单步调试了!
通过菜单【Edit】-【Preferences】-【Debugger】进入到调试器的设置页,把“Debug project code only; do not step into framework code.”选项取消。
如果你的应用是个控制台程序,还需要进入到该项目(鼠标右击该项目,在弹出菜单中选择“Options”)的【运行】设置页中,将“运行于外部控制台”的设置项取消掉。
但是,就算这样也无法单步调试进入到外部程序集,原因是还缺少Mono的调试符文件,即(*.dll.mdb)文件。所以还需要将所有待调试的外部程序集文件对应的.mdb文件拷贝到当前Host项目的“bin/Debug”目录中。 注意:如果外部程序集更新了代码,记得再同步拷贝一次对应的.mdb文件过来。
每次都手动复制还是很痛苦的,尤其是外部程序集较多的时候,所以创建一个复制脚本还是很有必要的。 在Host项目的目录中创建一个名为:
deploy.sh的脚本文件,使用命令:
vi deploy.sh然后在vi编辑器的第一行写入:
#!/bin/bash,第二行开始编写拷贝命令。编辑完成后,记得使用命令:
chmod 777 deploy.sh去开启其可执行属性。
在 MonoDevelop 中进入Host项目的属性设置对话框,在里面的【构建】-【自定义命令】设置页中添加一个“After Build“命令项:
deploy.sh
至此,就可以愉快的在 MonoDevelop 中对外部库进行单步调试了!
相关文章推荐
- Linux常用命令大全
- 修改linux启动方式
- linux救援模式
- linux内核分析第六周-分析Linux内核创建一个新进程的过程
- Linux文件属性归纳
- Linux系统引导过程
- Linux系统级别能够打开的文件句柄的数file-max命令
- linux 配置mysql 自动备份任务
- linux的挂载磁盘步骤
- linux 安装svn服务端
- Linux修改内核使得普通用户可以打印kmsg内容
- 实验六:分析Linux内核创建一个新进程的过程
- Linux centos 下在线安装mysql
- Linux下Ant编译Hadoop-eclipse-plugin-2.x.x.jar插件
- GDB十分钟教程
- Vim使用小结
- Linux下Java获取本机IP地址
- linuxGPIO驱动示例
- Virtual Memory Usage from Java under Linux, too much memory used
- Linux下c++调用自己编写的matlab函数:通过mcc动态链接库.so实现