一、如何查看Plugins是否加载成功
Firefox和Chrome在浏览器地址栏输入 about:plugins,会出现已加载的插件列表。Safari在菜单栏“帮助->已安装插件”查看已经加载的插件。
二、如何有效地打断点
这里假设NPAPI Plugins已经加载成功,将浏览器进程(如iexplore.exe)附加到VS进行调试,调试->附加到进程(英文:Debug->attach to process),然后从进程列表中选择想要调试的进程,这样vs调试器便可停在预先打断点的地方。
IE:IE的插件开发采用的是Active X或ATL,这里不作详解,具体请查阅本站“开发”栏目下相关博文。
Firefox:Firefox的plugin不是运行在Firefox.exe这个进程上的,而是新开了一个plugin-container.exe进程来管理和加载plugin,调试的时候必须attach到plugin-container.exe进程。(官方解释是为了防止插件的崩溃导致整个浏览器进程的崩溃)
Chrome:Chrome是一个多进程的浏览器,那我们该attach到那个进程呢?一般我们只能一个个试了,命中断点则attach成功,否则断点处会有一个感叹号是断不到的。
Safari:Safari的断点方法和Firefox类似,只不过它的plugin宿主唤作一个叫WebKit2ebProcess.exe进程,我们attach到这个进程上就OK了。
三、插件没有加载成功,怎么办?
我们在np_entry.cpp的NP_Initialize()函数第一行,加入调试输出对话框
MessageBoxA(NULL, "打断点", "断点", MB_OK);
当浏览器弹出这个对话框,说明插件运行到这里,然后使用第二节的办法,给它打断点一步一步调试,总会找到加载失败的原因的。
调试过程中遇到任何问题,都可以在论坛“浏览器插件”板块发帖讨论。
Windows下如何调试NPAPI Plugins
来源:清泛原创 2015-08-18 11:14:11 人气: 我有话说( 0 人参与)
关于NPAPI的介绍及开发方法请参考“开发”栏目下相关博文,这里主要讲述一下如何调试NPAPI Plugins,环境为Win7 + VS 2008。
注:本文为本站或本站会员原创优质内容,版权属于原作者及清泛网所有,
欢迎转载,转载时须注明版权并添加来源链接,谢谢合作! (编辑:admin)
欢迎转载,转载时须注明版权并添加来源链接,谢谢合作! (编辑:admin)
相关热点
- 1js中int和string互换(js int转string,js string转int)
- 2虚拟机安装CentOS出错:EDD:Error 8000 r...
- 3路径 /storage/emulated/0/... 在哪儿?
- 4chown: invalid user: mysql:mysql
- 5[解决]Windows 成功诊断出虚拟内存不足的情况
- 6GIF截图工具, 三款免费好用的Gif截图工具推荐
- 7宽度默认980px?手机浏览器及pc浏览器width...
- 8Web API 最佳入门指南
- 9Mac OS 可视化ssh文件传输工具(替代scp命令行)
- 10【解决】VNC:No configured security ty...
本月排行
- 1Pulse Secure解决方案 35次浏览
- 2虚拟机安装CentOS出错:EDD:Err... 32次浏览
- 3解决:make[x]: *** 没有规则... 25次浏览
- 4无法解析的外部符号 _MiniDump... 24次浏览
- 5VBA 单元格日期与当前日期比较 21次浏览
- 6JS文字卷动效果的调用函数:sta... 17次浏览
- 7解决IIS发布时global_asax的dll... 16次浏览
- 8不同品牌的防火墙组成高可靠性集群 15次浏览
- 9NSIS做的安装程序,可接受命令... 15次浏览
- 10无法将类型“System.Collection... 14次浏览
评论排行
- 1C++ 读写xml方法整理(持续更新)3次评论
- 2Reference to ' ' is ambiguous:符号定义重复2次评论
- 3全民OS2次评论
- 4__attribute__2次评论
- 5海量数据相似度计算之simhash和海...2次评论
- 6C++使用OLE/COM高速读写EXCEL的源码2次评论
- 7AfxIsValidAddress 测试内存地址2次评论
- 8C++入门进阶最佳实战2次评论
- 9phpcms附件上传 Flash换成H52次评论
- 10解决xrdp登陆不上的问题:xrdp s...2次评论