编译webkit的wince port, 出现"prefetch abort"

AndyStevens 2014-05-20 03:49:12
近期想编译webkit的wince port ,按照webkit.org里的指导,几经周折,终于通过编译。但是放弃wince设备中运行时,crash了,换了几个版本都是类似问题。各位有没有相同的经历,还请指点。
crash时系统错误如下:
Exception 'Prefetch Abort' (3): Thread-Id=06030022(pth=88d97000), Proc-Id=07f3001e(pprc=88d71750) 'WinCELauncher.exe', VM-active=07f3001e(pprc=88d71750) 'WinCELauncher.exe'
PC=40751674(???+0x40751674) RA=4003c290(coredll.dll+0x0002c290) SP=00f7fe7c, BVA=40751674
...全文
502 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
AndyStevens 2014-05-26
  • 打赏
  • 举报
回复
up
91program 2014-05-23
  • 打赏
  • 举报
回复
引用 8 楼 Automation_dmu 的回复:
[quote=引用 5 楼 91program 的回复:] debug版本更是惊人近百M,这么奇葩啊! 出错的是 'WinCELauncher.exe',说明此程序已经运行。 当然还有一种可能,是由于在程序有全局的类变量,由于全局变量的初始化会先于窗口的初始化,可能引起错误。
我已经确认了没有引起错误的全局变量; 其实我将winmain里的调用webview渲染的代码注释掉,WinCELauncher.exe就瘦身到4kb,并且运行正常。webview的内容是以静态库的形式与WinCELauncher一起编译的。[/quote] 你的代码里没有,webview 的代码里呢?
AndyStevens 2014-05-23
  • 打赏
  • 举报
回复
up
  • 打赏
  • 举报
回复
你的程序里面很多资源?不然这么大的程序需要多少代码量啊。
91program 2014-05-22
  • 打赏
  • 举报
回复
debug版本更是惊人近百M,这么奇葩啊! 出错的是 'WinCELauncher.exe',说明此程序已经运行。 当然还有一种可能,是由于在程序有全局的类变量,由于全局变量的初始化会先于窗口的初始化,可能引起错误。
AndyStevens 2014-05-22
  • 打赏
  • 举报
回复
引用 5 楼 91program 的回复:
debug版本更是惊人近百M,这么奇葩啊! 出错的是 'WinCELauncher.exe',说明此程序已经运行。 当然还有一种可能,是由于在程序有全局的类变量,由于全局变量的初始化会先于窗口的初始化,可能引起错误。
我已经确认了没有引起错误的全局变量; 其实我将winmain里的调用webview渲染的代码注释掉,WinCELauncher.exe就瘦身到4kb,并且运行正常。webview的内容是以静态库的形式与WinCELauncher一起编译的。
AndyStevens 2014-05-22
  • 打赏
  • 举报
回复
引用 6 楼 accessysq 的回复:
你的程序里面很多资源?不然这么大的程序需要多少代码量啊。
没有资源,几百万行的代码量吧, debug版本比较大,release的只有17M。
AndyStevens 2014-05-21
  • 打赏
  • 举报
回复
up
AndyStevens 2014-05-20
  • 打赏
  • 举报
回复
谢谢你的答复! 我的编译环境是vs2005+xp ;运行环境是ce 6.0; 我生成了map,可是找不到40751674相近的地址,这个地址太大了,与map中的地址不是一个数量级; 我的demo很简单,就是一个简单的窗口,然后调用webview进行渲染,我在winmain进去的第一行加了LOG, 奇怪的是程序并没有输出这条LOG, 就像程序完全没有运行起来一样,我可以确定winmain之前没有出现任何涉及到webkit内核的代码,所以DEBUG模式下应该也无法定位到异常抛出点; vs工具指的是什么,我的调试手段比较原始, 能不能多给我点信息; ps . 我的demo程序编完之后有17M ,debug版本更是惊人近百M, wince会不会对应用程序装载存在什么限制,我有点怀疑实在装载环节出现异常,导致程序根本得不到运行。
引用 2 楼 91program 的回复:
不过看上面的 PC 是:PC=40751674(???+0x40751674) ,都没有显示出是哪个模块出错的。通过 MAP 能查到的可能性比较小! 如果是一运行就出错,可能考虑增加在代码中一些 LOG 来分析。 LZ,你应该不是使用 VS 编译的吧?如果是,可能考虑调试模式,直接 使用 VS 工具,这样可能会发现问题的原因。
91program 2014-05-20
  • 打赏
  • 举报
回复
不过看上面的 PC 是:PC=40751674(???+0x40751674) ,都没有显示出是哪个模块出错的。通过 MAP 能查到的可能性比较小! 如果是一运行就出错,可能考虑增加在代码中一些 LOG 来分析。 LZ,你应该不是使用 VS 编译的吧?如果是,可能考虑调试模式,直接 使用 VS 工具,这样可能会发现问题的原因。
91program 2014-05-20
  • 打赏
  • 举报
回复
编译时有没有对应的 MAP 文件?如果有,可以按地址查一下是哪个函数出的问题。

19,500

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧