原创 COM組件學習筆記--C++的虛函數表

COM接口是通過C++的Vtable建立起來的,Vtable是虛函數表(Virtual Function Table)的縮寫。在C++中的虛函數表提供了類實例功能的滯後綁定(Late Binding,也稱爲後綁定)。 一個COM接

原创 【調試技巧】Windbg常用調試方法

簡介: 當出現進程CPU佔用率高、進程假死(不退出)、進程發生崩潰時,可以參考以下的windbg命令使用說明,進一步提供有價值的信息給開發。 1.進程CPU佔用率高問題跟進方法 1)開啓windbg,attach到對應的進程上

原创 [BUG分享]搜狗瀏覽器跨線程使用IE接口的問題

【Bug現象】: 使用搜狗瀏覽器release1.0.1時,如果新建多個標籤頁瀏覽頁面時,偶爾會出現工具欄的前進、後退、刷新等按鈕爲彩色可點擊狀態,但是點擊之後頁面卻沒有發生相應的動作。 【Bug背景】: 搜狗瀏覽器提供多標籤方式

原创 COM組件學習筆記--const_cast、reinpreter_cast、dynamic_cast、static_cast的區別

關於強制類型轉換的問題,很多書都討論過,寫的最詳細的是C++ 之父的《C++ 的設計和演化》。最好的解決方法就是不要使用C風格的強制類型轉換,而是使用標準C++的類型轉換符:static_cast, dynamic_cast。標準

原创 【測試工具】Linux限流工具

Linux下限制網卡的帶寬,可用來模擬服務器帶寬耗盡,從而測試服務器在此時的訪問效果。 1、安裝iproute yum -y install iproute 2、限制eth0網卡的帶寬爲50kbit: /sbin/tc qdisc

原创 【工作技巧】註冊Windbg爲默認調試器的方法

註冊windbg方法 1. 複製windbg的快捷方式 2. 修改快捷方式的內容爲(c:\program files\debugging tools for windows\windbg.exe -I) 3. 運行快捷

原创 [知識分享]瀏覽器地址欄快捷鍵的用例設計

【用例設計思路】: 搜狗瀏覽器的地址欄功能在繼承了IE導航的功能之外,還兼容了Firefox和safari特有功能,如下拉列表的匹配,根據下拉列表第一項自動補全等等。因此在快捷鍵的處理策略中,也會因爲不同的條件組合呈現出不同的邏輯

原创 COM組件學習筆記--C++模板

一、COM技術: COM是Mircosoft研製的一項系統級別的面向對象技術。 COM提供的幾項特徵: COM同語言無關性:程序開發者可以在VB、DELPHI等其他開發環境下重複使用C++模板; COM提供了位置的透明性:這一

原创 COM組件學習筆記--Iunknown接口

Class Iunknown { Virtual HRESULT QueryInterface( REFIID riid , void ** ppv) = 0; Virtual ULONG AddRef() = 0

原创 【字符串拷貝函數】memcpy strcpy strncpy lstrcpy lstrncpy wstrcpy的區別

memcpy 原型 :extern void *memcpy(void *dest, void *src, unsigned int count); 功能:由src所指內存區域複製count個字節到dest所指內存區域。 說明:s

原创 使用VS2005+TCL搭建集成測試環境測試瀏覽器接口

【背景介紹】: 搜狗瀏覽器2.0版本實現了Webkit和Trident雙內核引擎,當訪問兼容性好的站點時,瀏覽器會使用Webkit內核進行渲染解析;當訪問兼容性較差的站點時,瀏覽器會使用Trident內核進行渲染解析。瀏覽器通過雙

原创 COM組件學習筆記--COM組件示例

創建Visual C++工程. 啓動Visual C++並創建一個新工程,選擇Win32 Dynamic-Link Library,工程命名爲”Server”。 創建IMATH.H文件 創建了兩個抽象類Imath和IAdvance

原创 在Windows下清理SVN關聯文件

        第一次寫博文。         前陣子筆記本的硬盤壞了,丟了很多的源代碼。向公司反映此事,經批准搭設CVS服務器,一個便於追蹤版本,一個以防類似以上的事故再次發生。但是實際搭設好CVS服務器後,發現有很多問題:      

原创 [BUG分享]搜狗瀏覽器地址欄輸入特殊字符導致程序崩潰

【Bug現象】: 使用搜狗瀏覽器release1.0.1版本做如下操作會造成瀏覽器崩潰: 1. 啓動瀏覽器 2. 在地址欄輸入www.sohu.com’ 當執行以上操作後,程序發生崩潰。 【Bug背景】: 搜狗瀏覽器地址欄的

原创 【字符串比較函數】strcmp,stricmp,strcmpi區別

原型:extern int strcmp(const void *s1, const void *s2); 用法:#include 功能:比較字符串s1和s2是否相同,區分大小寫。 說明:如果s1=s2則返回零,否則返回非零值