Eclipse IDE for SkyEye集成初始结果
我在Eclipse+CDT平台上开发了一个针对skyeye的调试器插件org.eclipse.skyeye,大家可以试着运行一下,下面是安装使用说明:一Linux环境
1.1 软件准备
到Eclipse官方网站www.eclipse.org下载Eclipse软件:eclipse-SDK-3.0-linux-gtk.zip和org.eclipse.cdt.sdk-2.1.0-linux.x86.zip,这是目前Eclipse的两个稳定版本,其实这个插件org.eclipse.skyeye也可以运行在Eclipse-3.1 和CDT-3.0上,不过这两个版本还在开发过程中,正式版没发布。
1.2 安装
安装Eclipse SDK很容易,只要解开压缩包就能直接运行,当然要先在您的系统上安装Java虚拟机。安装CDT插件组时,只要将CDT插件组中的features和plugins文件夹下的内容复制到Eclipse SDK同名的文件夹里面就可以。同样安装org.eclipse.skyeye插件和安装其他的插件一样,直接将plugins文件夹下的org.eclipse.skyeye_1.0.0文件复制到Eclipse SDK的plugins文件里面。
在使用这个IDE插件之前,您的系统上要有skyeye运行环境,您可以通过下载skyeye源码自己编译,也可以到skyeye网站www.skyeye.org下载二进制文件,最好是安装skyeye使得skyeye能在任何路径下执行。
1.3 使用
运行Eclispe SDK(装有CDT和skyeye插件)平台,切换到C/C++视图,然后打开“File->Import”来导入您要调试的skyeye应用程序,再切换到debug视图,运行Run菜单下的Debug…,会打开Eclipse平台的调试界面,您可以看到在左边的树状调试器列表中已经添加有SkyEye的调试器SkyEye Debug Launch,如果没有这一项,说明您没有安装成功。
选中SkyEye Debug Launch点击左下的New按钮,平台会根据您前面导入的应用程序实例化一组调试启动配置选项卡,您要在这些选项卡中选择或输入各种启动参数
Main标签中选择要调试的工程项目及可执行程序,
Debugger标签中选择后台的调试器,在Debugger下拉框中选择SkyEye Debugger
Commands标签中输入skyeye启动时的参数“target sim”、“Load”、“run”
Source和Common标签的配置默认即可,然后点击右下的Debug按钮开始启动调试器
在启动的过程中可能会遇到源码编译出错提示,选择“yes”让程序继续启动
二Windows 环境
2.1 软件准备:下载eclipse-SDK-3.0-win32.zip和org.eclipse.cdt.sdk-2.1.0-win32.x86.zip。
2.2Eclipse平台安装同Linux环境。但是需要配置skyeye运行环境:到skyeye网站www.skyeye.org 下载能在Cygwin上编译通过的版本(最近发布的几个版本可以通过编译,本人在cygwin-1.5.10上编译通过skyeye-0.8.8)进行编译、安装,安装之后的可执行程序skyeye.exe在/usr/local/bin目录下,然后在系统环境变量中加入skyeye的运行路径,比如我将Cygwin装到D:\盘,那么在环境变量的Path中加入D:\cygwin\usr\local\bin即可。您可以在“开始->运行…”中直接键入“skyeye”来测试,如果能启动skyeye,说明配置成功了。
也可以下载skyeye-insight0.8.7.Win32.rar这个已经编译通过的可知行程序,解压到本地,同样在系统环境变量进行配置,比如我将这个程序解压到D:\skyeye文件中,那么在环境变量中加入D:\skyeye\bin即可。
2.3 使用方法同Linux环境。
可以随时和本人探讨:[email protected] :?: org.eclipse.skyeye在哪? 就是阿,在哪可以下载org.eclipse.skyeye? 给 [email protected] 发email试试! skyeye有bug,因此与Eclipse的集成中,如果打开regiser窗口,程序会终止.我在网吧上网,因此无法将修改结果转送.错误原因是Eclipse调用info all-regiser,在调用whatis $f0时,出错. 修改gdb\findvar.c 第334行
return
internal_error (__FILE__, __LINE__,
"Register \"%s\" (%d) has conflicting raw (%d) and virtual (%d) size",
REGISTER_NAME (regnum),
regnum,
REGISTER_RAW_SIZE (regnum),
REGISTER_VIRTUAL_SIZE (regnum));
改为
#if 0
return
internal_error (__FILE__, __LINE__,
"Register \"%s\" (%d) has conflicting raw (%d) and virtual (%d) size",
REGISTER_NAME (regnum),
regnum,
REGISTER_RAW_SIZE (regnum),
REGISTER_VIRTUAL_SIZE (regnum));
#endif 昏。怎么show一下就没有动静了 我刚写了一个文档有个eclipse的 (http://www.linuxfans.org/bbs/thread-194269-1-1.html),其中的确看寄存器会中断掉,稍后研究下
页:
[1]