请教wince下的段地址怎么查看
data.load.exe $REL\eboot.exe /nocode /reloc .text at 0x80039000 /reloc .data at 0x80021000
这里0x80039000表示eboot在运行时代码段的地址;0x80021000表示eboot运行时数据段的起始地址。
这两个地址从哪里来的呢?
通过什么工具或者什么文件可以看到这个地址?谢谢
------解决方案--------------------不懂,up
------解决方案--------------------不懂,up
------解决方案--------------------WINCE自身规定的,微软已经划分好相应的空间了。编译过程中固定好的。
------解决方案--------------------可能在config.bib中设置的吧? (请高手指正)
------解决方案--------------------关注一下
------解决方案--------------------------解决方案--------------------------解决方案--------------------1,是
2,是
3,pdata是存储程序的异常信息的(exception table)。这些信息程序发生异常或者调试时会用到。不过X86架构是没有的这些信息的。kdata是自定义段,由D:\WINCE500\PRIVATE\WINCEOS\COREOS\NK\KERNEL\ARM\armtrap.s中这句话定义:
AREA |.KDATA|,DATA,NOINIT
data段是放数据的,你设的不对不影响调试器解析代码,代码段设不对就不行了。
4,这个问题比较复杂,三两句话说不清楚。offset一般是指文件头到这段数据的偏移,或者record header到这段数据的偏移,应该是这两者中的一个,我没有仔细研究过是哪种。rsrc是资源数据段,比如说你用资源编辑器做了一个对话框,或者你有一个string table,这些都是资源,放在rsrc段里。
------解决方案--------------------楼上说的太棒了。
在armtrap.s中定义了好多东西。以前我看都不知道干什么用的。
------解决方案--------------------singlerace 说的很好
kdata是个数据段 存放的好像是KernelData
Module coredll.dll at offset 01ffe000 data, 03f71000 code
表示的两个地址是coredll.dll的VA,01ffe000是数据段的VA在Slot0,03f71000是代码段的VA在Slot1
dll对应不同的进程有相同的地址空间,代码段在RAM里是唯一的,数据段对不同进程都会有一个拷贝,所以分开加载