大家好能不能给我具体谈谈怎么样在SKYEYE上调试程序啊。
请那个大虾给我具体怎么样在SKYEYE上调试程序啊从头至尾给我谈谈可以不
比如我想一步一步的看程序怎样运行
这样的话我就可以对一个程序的结构比较了解了。
谢谢
再谢谢
真的想知道。谢谢
我可是菜鸟级人物啊 同问,安装了skyeye,也下载了testsuit,在testsuit里面的AT91里面的uclinux2目录里面运行skyeye,在skyeye> 下面输入break **,说没有load simbol,是不是因为testsuit里面的linux只有不到1m,没有包含调试信息? 得先运行
(SkyEye)target sim
(SkyEye)load
然后才能开始调试
Q:
如何在skyeye中的物理地址上设断点?请问能否在skyeye里单步调试汇编代码呢?
A:
设物理地址为 0x100000,可通过如下命令完成
break 0x100000
list 汇编文件的方法与list c文件的方法一样
单步执行汇编指令的命令是
si 或 ni
如果要在汇编中设断点,可以自己在该处加一个标号比如aaa: ,这不影响原来的程序,然后调试时用b aaa就可以在该处停下来,再用si或ni步进就可以了。
这个办法比对地址设断点要方便一些,供参考。 请问一下 skyeyeUCOSII中的主函是什么啊.好像不是main() 在 ucos里面 主函数叫什么名字没有关系 ,只要在开始的汇编代码最后执行阶段能够调转到该函数就可以 ,比如
start.s
....
BL start_main;
在 .c中
void start_main(void)
{
...
}
就可以正常的处理了 关于 skyeye的调试 :
其实 skyeye很好地 把gdb和 ARM Simulator 结合在一起的。
起重 skyeye中实现了一些 gdb没有实现地命令 如target sim命令,
也修改了里面地一些代码 主要是模拟器地初始化和 内存地重定向。
所以关于 skyeye地 调试问题 也可以说是 gdb地调试问题
gdb地调试这方面地咚咚 网上质料很多,推荐 smth /linuxdev/x-7-6-1里面介绍地
很详细 。
下面就以 调试linux2.4为例介绍一下:
# skyeyevmlinux
(SkyEye) tarsim //和 模拟器链接 处理skyeye配置文件
cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0
mach info: name lpc, mach_init addr 0x81413a0
SKYEYE: use arm7100 mmu ops
Loaded ROM ./initrd-u
Connected to the simulator.
(SkyEye) load //将程序load
Loading section .init, size 0xb000 vma 0x80002000
Loading section .text, size 0x95928 vma 0x8000d000
Loading section __ex_table, size 0x5d8 vma 0x800a2930
Loading section .data, size 0x9040 vma 0x800a4000
Start address 0x80002000
Transfer rate: 5569024 bits/sec.
(SkyEye) run//运行程序
和 gdb的是一样的常用的命令有 bs si n ni disassemble x print c
bt 等一些命令
建议你看看gdb调试方面的资料 gdb调试文档 :
这时一篇很好的调试指南
页:
[1]