QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1197|回复: 0

关于在skyeye上集成insight得问题求救!!!

[复制链接]
发表于 2006-3-9 23:15:38 | 显示全部楼层 |阅读模式
各位大虾,好容易才找到这里来啊,小弟有个问题求救阿

一直搞不懂insight如何同skyeye集成,
采用下面的方法:

watercloud - 2004年 12月28日 06:56
发表主题:


--------------------------------------------------------------------------------

由于skyeye代码在gdb基础上增加的非常清晰和有条理,
基本没花什么功夫就完成了和insight5.3的整合.

过程如下:

下载insight5.3并解压
下载skyeye0.8.5.1并解压
将如下文件覆盖拷贝到insight的对应目录下:
./skyeye/gdb/ada-tasks.c
./skyeye/gdb/arm-tdep.c
./skyeye/gdb/main.c
./skyeye/gdb/Makefile.in
./skyeye/gdb/testsuite/gdb.trace/gdb_c_test.c
./skyeye/gdb/top.c
./skyeye/sim/arm/下的全部文件
./skyeye/sim/common/Make-common.in
./skyeye/sim/common/run.c

进入insight目录执行:
./configure --target=arm-elf --prefix=/usr/local
然后
make

make到sim/arm/目录时会报一个错,这时人工进入该目录,
把命令行上出错的的编译命令复制下来,再粘贴回终端,在该命令最后加一个选项 -I../../include/gdb/ 回车即可
(也可以在执行make前,直接修改Makefile在CFLAGS中加一项 -I../../include/gdb/)

然后重新执行make

一路正常,最后一步在insight5.3/gdb目录生成insight文件时再次出错,
这时人工进入该目录,
把命令行上出错的的编译命令复制下来,再粘贴回终端,在该命令最后加一个选项 `pkg-config --libs gtk+-2.0 `即可成功获得
insight文件.
(也可以在执行make前将gdb/Makefile中pkg-config所在行中加一个选项 `pkg-config --libs gtk+-2.0 `)

然后重新执行make

成功后

make install
即可.

make install后生成
/usr/local/bin/arm-elf- insight
/usr/local/bin/skyeye
前者就是gui的skyeye了,后者就是传统控制台界面的skyeye.


insight ./linux起动模拟器时,打开insight的控制台窗口,里面就是gdb的提示符,
输入:
target sim
load
run

linux起动后在终端界面出现命令行提示符号,Ctrl+C中断后就可以在insight的控制台里下达各种断点了.这样就可也使用insight方便的图形化窗口观看各种全局变量/局部变量/程序代码了.

-------------------------------------------------------------------------------------
结果在编译的时候出现了以下错误:

make[2]: Entering directory `/tmp/insight-6.4/tcl'
make[3]: Entering directory `/tmp/insight-6.4/tcl/win'
gcc -shared -g -O2  -o tcl84.dll -mwin32                -Wl,--out-implib,libtcl84.a regcomp.o regexec.o regfree.o regerror.o tclAlloc.o tclAsync.o tclBasic.o tclBinary.o tclCkalloc.o tclClock.o tclCmdAH.o tclCmdIL.o tclCmdMZ.o tclCompCmds.o tclCompExpr.o tclCompile.o tclDate.o tclEncoding.o tclEnv.o tclEvent.o tclExecute.o tclFCmd.o tclFileName.o tclGet.o tclHash.o tclHistory.o tclIndexObj.o tclInterp.o tclIO.o tclIOCmd.o tclIOGT.o tclIOSock.o tclIOUtil.o tclLink.o tclLiteral.o tclListObj.o tclLoad.o tclMain.o tclNamesp.o tclNotify.o tclObj.o tclPanic.o tclParse.o tclParseExpr.o tclPipe.o tclPkg.o tclPosixStr.o tclPreserve.o tclProc.o tclRegexp.o tclResolve.o tclResult.o tclScan.o tclStringObj.o tclStubInit.o tclStubLib.o tclThread.o tclThreadAlloc.o tclThreadJoin.o tclTimer.o tclUtf.o tclUtil.o tclVar.o tclWin32Dll.o tclWinChan.o tclWinConsole.o tclWinSerial.o tclWinError.o tclWinFCmd.o tclWinFile.o tclWinInit.o tclWinLoad.o tclWinMtherr.o tclWinNotify.o tclWinPipe.o tclWinSock.o tclWinThrd.o tclWinTime.o  strftime.o strtoll.o strtoull.o tcl.res.o
Creating library file: libtcl84.a
tclWin32Dll. In function `TclpCheckStackSpace':
/tmp/insight-6.4/tcl/win/tclWin32Dll.c:364: undefined reference to `__except_checkstackspace_handler'
tclWinChan. In function `Tcl_MakeFileChannel':
/tmp/insight-6.4/tcl/win/tclWinChan.c:1056: undefined reference to `__except_makefilechannel_handler'
tclWinFCmd. In function `DoCopyFile':
/tmp/insight-6.4/tcl/win/tclWinFCmd.c:558: undefined reference to `__except_docopyfile_handler'
tclWinFCmd. In function `TclpObjRenameFile':
/tmp/insight-6.4/tcl/win/tclWinFCmd.c:204: undefined reference to `__except_dorenamefile_handler'
collect2: ld returned 1 exit status
make[3]: *** [tcl84.dll] Error 1
make[3]: Le**ing directory `/tmp/insight-6.4/tcl/win'
make[2]: *** [all] Error 2
make[2]: Le**ing directory `/tmp/insight-6.4/tcl'
make[1]: *** [all-tcl] Error 2
make[1]: Le**ing directory `/tmp/insight-6.4'
make: *** [all] Error 2


我用的是Insight6.4, 最新的skyeye和cygwin版本,是什么问题呢?求大虾帮助阿。还有什么别的方法集成吗?谢谢了哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-3 00:19 , Processed in 0.048058 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表