Win10 VS调试MiniBlink

Win10调试MiniBlink

一、 MiniBlink介绍
MiniBlink是一款基于Blink内核的极小的浏览器,去除了很多组件,相对于的本身体积得到了极大的减小,对于学习浏览器内核有很大帮助。
调试环境:Win10+VS2015
Miniblink下载:https://github.com/weolar/miniblink49 (有release版,但是如果要学习浏览器内核的话最好下载源码)

二、 调试
1、 用VS2015打开\miniblink49-20200515\build\miniblink.sln
在这里插入图片描述
2、 用VS2015进行批量构建,或者在\miniblink49-20200515\build\目录下双击build_Debug.bat进行构建
在这里插入图片描述
3、 VS2015默认可能将MiniBlink当成启动项,但是MiniBlink项目只会生成一个Node.dll库文件,需要将wkexe设置为启动项。如果wkexe项目没有生产,直接右击进行生成即可。

在这里插入图片描述

4、 查看生成文件
这一步对于调试没有必要,但是可以查看关键文件是否生成。
进入\miniblink49-20200515\out\Debug目录,查看文件,主要文件是wkexe.exe以及node.dll,只要这两个文件在就可以运行。
在这里插入图片描述

5、 开始调试
默认是www.baidu.com,也可以手动修改启动网页,添加–html www.baidu.com启动参数
在这里插入图片描述
三、 相关问题
a) MSB8012编译警告

> 1>C:\Program Files
> (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(1189,5):
> warning MSB8012:
> TargetPath(D:\workhome\chromium\chromium\miniblink\miniblink49-20200515\build\..\out\Debug\miniblink.dll)
> does not match the Linker's OutputFile property value
> (D:\workhome\chromium\chromium\miniblink\miniblink49-20200515\out\Debug\node.dll).
> This may cause your project to build incorrectly. To correct this,
> please make sure that $(OutDir), $(TargetName) and $(TargetExt)
> property values match the value specified in %(Link.OutputFile).
> 1>C:\Program Files
> (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(1191,5):
> warning MSB8012: TargetName(miniblink) does not match the Linker's
> OutputFile property value (node). This may cause your project to build
> incorrectly. To correct this, please make sure that $(OutDir),
> $(TargetName) and $(TargetExt) property values match the value
> specified in %(Link.OutputFile). 1>  miniblink.vcxproj ->
> D:\workhome\chromium\chromium\miniblink\miniblink49-20200515\build\..\out\Debug\miniblink.dll
> 1>  miniblink.vcxproj ->
> D:\workhome\chromium\chromium\miniblink\miniblink49-20200515\build\..\out\Debug\miniblink.pdb
> (Full PDB)
> ========== 生成: 成功 1 个,失败 0 个,最新 0 个,跳过 0 个 ==========

可以参考https://blog.csdn.net/agassy/article/details/50493183
也就是常规输出路径与链接器输出路径冲突了。

b) 编译错误 D8040 创建子进程与子进程通信
可以参考https://blog.csdn.net/blmoistawinde/article/details/88878249
将多处理改为否即可。

c) wke api not found
在这里插入图片描述
目前还并没有想到解决办法,但似乎不太影响调试内核。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前言 本程序基于精易Web浏览器支持库(miniblink内核) 请在打开本代码前保证安装了“精易Web浏览器支持库”,否则会导致无法打开等极度严重的Bug 【一些问题】摘自帖子精易Web浏览器支持库(miniblink内核) Q. 为什么提示找不到dll命令? A. 请将"node.dll" 这个文件放到易语言 根目录,易语言/lib 目录下,调试时会从这两个文件夹里寻找"node.dll"文件,"这两个目录必须要要node.dll"如果是编译的版本,请将"node.dll" 存放到你编译好的程序的目录下 这里是程序中使用的Dll或Exe的查毒:截图.exe exdui.dll 程序特点(下面是部分介绍和截图): 1.首先程序使用了多标签(多Tabs)构架,对于很多人来说,这个构架并不是很新颖。但是,本浏览器(下称“MiniBlink浏览器”)使用的是多进程操纵,即一个浏览器便是一个进程,这样有什么好处呢? 1.由于Miniblink的特性,在统一进程下,如果创建多个浏览框窗口,如果修改单个的Cookie目录或者缓存目录,则本进程下的全部浏览框的Cookie目录或者缓存目录都会被修改,那么,如果采用多进程构架的话,就不存在这个问题,所以“MiniBlink浏览器”经过您简单的修改,每个浏览框都可以独立Cookie缓存,何乐而不为呢? 2.众所周知,Miniblink浏览框采用单线程渲染界面,那么假如你在窗口中创建过多的浏览框且都处于访问状态的话,实际访问速度就会大大的下降,而“MiniBlink浏览器”使用多进程,平均访问速度更加快。 原理介绍:多进程之间怎么进行很好的控制呢?其实就是一件简单的进程通信在主进程中,程序保留了对于子进程的信息记录,标识保留在“高级选择夹_Ex”中的“子夹图标”这一函数中!!(这里要提出一个警告,“高级选择夹_Ex”中的“子夹图标”保留的为当前浏览框的标识,而不是真正是图标句柄,因为开始没有考虑图标的问题,后来也懒得改了,“SetImg”才是真正设置图标的命令!!) 2.主程序全局使用“Ex_DirectUI” 包含的Ex组件 介绍 构造 小按钮_Ex 创建一个图片小按钮 其实是一个简单的图像绘制的按钮 高级选择夹_Ex 本组件是一个模拟高级选择夹的组件 State拼凑组合而成 书签夹_Ex 创建一个书签 State拼凑组合而成 3.0模块中包含的部分组件 图片框,编辑框什么的 无 - 在代码中,其实“Ex_DirectUI”部分的代码是非常简洁易懂的,您可以直接看代码,上方的表格仅供参考 3.书签夹 书签夹相当于是很多图像的集合,而文件夹和书签夹的完美结合又和收藏夹有关系了,“MiniBlink浏览器”中很多代码是互相使用,互相联系的(其实是一个Ex_DirectUI菜单处理) 4.收藏夹 收藏夹对应的目录是“Database”,程序读取收藏夹中URL的方法是递归,注:“集_书签_保留菜单”是处理“书签夹”中的文件夹菜单。菜单一览: 收藏夹管理部分(这部分我觉得我还是做得很上心的): 5.高级选择夹 这么重要的东西我差点忘了说了:这里的图标和按钮位置是经过我严(粗)格(心)的计算得出来的: 同时为了达到和主流浏览器一样的选择夹效果,我还专(才)门(怪)计算了选择夹应该有的宽度和位置。 6.百度搜索框 好像比较鸡肋: 7.下载 现在还是在使用“_ download tool.exe” 8.更多功能更多功能可以自行探索哦!!!毕竟这里面还有不少功能呢!“MiniBlink浏览器”已经完善了大部分人定制浏览器的大部分功能 PS 使用前请将“浏览器 - 附加.e”编译为“NewProcess.exe”(子浏览框),将“文件_下载.e”编译为“_ download tool.exe”!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值