* 本文环境中使用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:调试
安装HFScode
把编写的网页(或下载的)拉到上面
就能够顺利的调试本地网页了。
调试本地网页的有点是能够针对性较强的跟踪目标代码,提升效率。
当咱们顺利的打开了以网页(如: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); }
请参考 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