Webkit WinLauncher 调试记录

* 本文环境中使用Win7操做系统,也就是Webkit的Win port *html

环境使用:Win7 + VS2010 + WebKit-r156224 + Safari5.1.7
web

在完成编译的基础上,使用Winlauncher进行调试。数据库

因为可能的网络问题(须要使用代理登录外外网),或者想要针对性的调试某个网页(本地)时,缓存

能够在WinLauncher里加载本地网页,方式是file:///D:/test.html.网络


但在试验中,WinLauncher加载file:///D:/test.html会报出一个Frame Load Interrupt的错误。spa

因此可使用IIS,对于没有安装或者懒得安装IIS的人,有另外一种方式就是安装Http File Server (HFS.exe)
操作系统

相关资料请参考:http://baike.baidu.com/view/32490.htm?fr=aladdin代理

听上去蛮吓人的,实际只有几百K:调试

  1. 安装HFScode

  2. 把编写的网页(或下载的)拉到上面

  3. 复制网址到WinLauncher里,打开

就能够顺利的调试本地网页了。

调试本地网页的有点是能够针对性较强的跟踪目标代码,提升效率。


当咱们顺利的打开了以网页(如:109.130.1.2/test.html),咱们再HFS上删除它,而后从新开启WinLaunch

再次登陆该网址(如:109.130.1.2/test.html)如发现还能够登陆,多是因为缓存致使的、

那么问题出现了,WinLauncher的缓存在哪里呢?能够确定的是不在WebKit-r156224\output\Debug\bin32中。

咱们跟踪代码:

String localUserSpecificStorageDirectory()
{
    return cachedStorageDirectory(CSIDL_LOCAL_APPDATA);
}


CSIDL_LOCAL_APPDATA这个是什么呢?

请参考 http://www.baike.com/wiki/csidl

最终找到WinLauncher使用的Cache.db 在C:\Users\XXXX\AppData\Local\Apple Computer中。

可使用Sqlite(或其余数据库)打开。


WinLauncher没有提供清除缓存的功能,能够直接删掉该Cache.db,达到清除缓存的效果。

以后再次运行WinLauncher,并再次输入该网址(如:109.130.1.2/test.html),会遇到404的错误 说明该网页已经不存了。


至此咱们可使用WinLauncher进行后续的调试,来理解和阅读webkit 的代码了。


WX

相关文章
相关标签/搜索