1. 程式人生 > >小知識點日誌(2013-6-24~2014-10-11)

小知識點日誌(2013-6-24~2014-10-11)

mil sel 選項 設置斷點 content 彈窗 erro dsw api版本

本文由 @lonelyrains 出品,轉載請註明出處。


文章鏈接: http://blog.csdn.net/lonelyrains/article/details/40378913


2013-6-24 10:18:34
1、使用x命令查看內存。在查看內存常常掛的xcode調試中尤其重要 x/20x 0x12345678 查看0x12345678處的20個內存單元的內容
2、ANSI是針對原7位表示的ANSCII(0~127)編碼的擴展
3、UPS:Uninterruptible Power Supply 不間斷電源
4、附加到進程調試dll時,能夠使用release版本號的exe。也能夠是vc6.0編譯的exe,dll用2008編譯


2013-7-10 11:34:37
1、使用ndk-stack查看溢出時的調用堆棧
adb logcat | $NDK/ndk-stack -sym $PROJECT_PATH/obj/local/armeabi
或者
adb logcat /tmp/foo.txt
$NDK/ndk-stack -sym $PROJECT_PATH/obj/local/armeabi -dump foo.txt
(cygwin下能夠調用windows下的exe,也能夠調用linux的命令)
2、windows下使用InterlockedExchange函數和volatile定義的全局變量和一般的條件推斷控制多線程的走向
3、beyond compare :設置打開選項卡時默覺得ANSI格式 工具 -> 文件格式 -> 選中C,C++,... -> 轉換 -> 外部程序(ANSI文件名稱) 且 編碼(選“ANSI”)-> 保存 -> 關閉
4、安裝vs2008x64位編譯器:打開vs2008安裝程序會出現載入組件的錯誤,採用另外的方式:打開控制面板->卸載程序頁->選擇vs team suit->更改程序->勾選“語言工具 以下的x64 compiler編譯器,和安騰compiler編譯器,安裝就可以。
5、64位程序調用64位csp dll,64位csp dll的調試能夠用64位IE調用64位控件的方式測試
6、控件調試:IE8以上默認是多進程調用的,直接附加到進程調試。進入不了,須要HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main鍵以下加入DWORD值 TabProcGrowth。設值為0
7、VC調試,監視窗體的變量名欄輸入$err,hr能夠監視每次上一步的錯誤代碼
8、字符串之前的L通知編譯器該字符串應當編譯為一個Unicode字符串。當編譯器將此字符串放入程序的數據段時。會用UTF-16來編碼每一個字符


2013-8-5 11:35:01
1、國密算法不能做SSL登錄 不信任的證書 簽名無效 瀏覽器不識別 SM1/SM4是對稱算法 SM2是非對稱算法 SM3是Hash算法
2、Win8Appstore不支持非常多桌面API,如Hid_feature
3、Android的xml布局能夠通過Java實現。Android的UI底層實現也是這樣做的
4、vc Ctrl+F2 加瀏覽標簽


2013-8-9 10:46:34
1、清除調試文件時報正在被使用的錯誤。可能是須要關閉進程mspdbsrv.exe。

關閉後假設又一次調試,mspdbsrv.exe會又一次啟動。可是假設進入不了斷點。就重新啟動IDE
2、windows自帶的筆記本程序能夠識別utf-8和ansi格式的txt文檔,可是不能正確提示該文檔是ansi還是utf-8的。而直接拷貝utf-8文檔裏的漢字到新建文檔裏是以ansi形式存放的。所以假設出現因編碼不同導致的問題。須要查看編碼,借助notepad++或者ultraedit比較好。
3、tcp粘包指的就是發收步調不是一致的。可能上次未收的數據保存在緩沖裏本次收數據的時候才取到。反正是流式解析就對了。名字玄乎。事實上沒啥


2013-8-29 14:30:11
ACTION_POINTER_DOWN cannot be resolved or is not a field : API版本號太低了


2013-9-11 20:00:48
1、動畫顯示彈窗效果:AnimateWindow


2013-9-24 11:08:48
1、Cert DN CN : CN是DN的一部分,DN區域是“使用者”字段的全部信息
2、chrome瀏覽器調用npapi的調試:
chrome瀏覽器調用npapi的dll僅僅須要支持32位dll。

因為是多進程方式執行,須要附加到調用該dll的chrome.exe進程。

要查看是哪個chrome.exe調用該dll。使用Process Explorer.exe查看。

附加調試,是先啟動chrome,調用該測試網頁,然後使用Process Explorer.exe查看特定chrome.exe進程,然後用vs2008project附加調試。設置斷點,點擊網頁的某一button,應該就能進入斷點了。


3、asn1view工具,查看der編碼證書結構 asn1dump
4、資源文件的宏在其自己的宏定義頁面定制
5、#define IF_ERROR_GOTO_END() do{if ( 0 != u4Result ) {char szErr[100];sprintf_s(szErr,sizeof(szErr),"FILE:%s,LINE:%d,urResult = %08x",__FILE__,__LINE__,u4Result);MessageBoxA(NULL,szErr,"ERROR",MB_OK);goto END;}}while(0)
6、VC獲取系統路徑一個很強悍的API SHGetSpecialFolderPathA 。當中SH前綴表示SHELL


2013-10-29 11:17:19
1、android-cygwin編譯,生成lib和so,相應的eclipseproject須要刷新,然後clean。又一次生成的相應apk裏的so才會刷新
2、/obj/local/armeabi/libgnustl_static.a: Permission denied 管理員啟動cgwin的mitty.exe


2013-11-6 15:08:59
1、IDE控件編譯並註冊。要求msdev(vc6.0的IDE進程)或者devenv(vs2008的IDE進程)以管理員方式執行,否則註冊失敗。
2、windows-cmd命令行註冊控件。要求管理員方式執行附件中的cmd,則能成功註冊;而到system32文件夾下以管理員方式打開cmd註冊控件則否


2013-11-21 14:49:34
1、隔離復雜度


2013-11-27 11:46:08
1、Your client does not have permission to get URL /2 from this server :升級goagent 或者proxy.ini裏改 profile = google_hk


2013-11-29 15:36:34
1、靜態庫僅僅能引用靜態庫,不能用動態庫。dsw和sln都存在是通過先新建vc6project。然後用vc9打開轉sln
2、PGP “cannot establish connection with pgp sdk service” : 管理工具->服務:禁用 encrypted file system 、IKe and Auth IPSec Keyring Module兩項服務。啟用PGPserv服務。之後就能夠正常打開PGP Desktop工具。
3、從網上下載下來的word文檔有嵌入word對象時。假設打不開,須要右鍵屬性“解除鎖定”;下載的網頁假設用到本地控件,也須要解除鎖定


2013-12-17 15:56:08
1、dwKeySpec指定用容器中的哪個私鑰 :The dwKeySpec field identifies the private key to use from the container


2014-2-13 9:50:20
1、xcode 5.0編譯的Common庫是能夠用xcode 4.6編譯的CommonTestproject調用的


2014-3-26 15:25:45
1、fsutil file Createnew C:\testfile3.txt XXXXX [註:創建指定大小的文件,XXXX表示字節數]


2014-4-10 8:46:28
1、調試時查看Unicode字符串的設置:
1)打開vc6。選擇菜單條的“Tools”
2)選擇“Tools”以下的“Options”
3)在打開的“Options”設置框其中,選擇選項卡“Debug”
4)勾選右下角的“Display unicode strings”。就能夠在debug模式下。直接通過watch窗體查看unicode字符串變量的內容


2014-5-9 15:13:01
1、不要用BOOL類型了 在這iOS 64位編譯會報錯的。跟C++自帶的bool沖突;
2、指針地址不要強轉為(u4)傳參了,不然64位的CPU編譯報錯,執行肯定也是掛掉。


2014-5-21 15:37:30
1、windows的多語言解決方式最好的是unicode編譯環境,tchar類型,配置文件為ucs2小端編碼。


2、// 常規的MessageBox在此處受_objTrayIcon的影響不置頂,所以使用全局MessageBox,而且使用當前系統的前臺窗體的窗體句柄作為父窗體
::MessageBox(::GetForegroundWindow(), szTip, szTitle, MB_TOPMOST|MB_ICONINFORMATION|MB_OK);


2014-5-27 18:01:12
1、在xcode裏新建workspace加入多個project的方法:工作區新建group目錄。將須要加入的project的.xcodeproj文件拖到這個group目錄就可以


2014-6-6 16:21:26
1、svn delete使用方法:svn delete -m "message" file:///var/svn/repos/test/yourfile --username xxx --password xxx


2014-6-20 11:38:58
1、detours:是微軟開發的一個函數庫。可用於捕獲系統API。
2、http://code.google.com/p/ecstool-platform/ http://www.open-open.com/lib/view/open1376871583553.html
3、http://www.cnblogs.com/jialiang/archive/2010/03/23/uacselfelevation.html


2014-7-7 15:26:22
1、中間人攻擊:為什麽是由瀏覽器保障安全性,而不是站點server驗證安全性?
2、RSA的 簽名=解密 驗簽=加密 嗎?


2014-8-6 19:43:11
1、32位和64位數據類型不同僅僅用牢記兩個:long : 4/8 void* : 4/8


2014-8-15 17:26:01
1、guid vs2008 搜索匹配正則表達式::a^8-(:a^4-)^3:a^12
2、thunderbird將郵件導入Foxmail:下載ImportExportTools 將郵件全都導出成eml格式,然後從foxmail導入郵件,也是eml格式。導出時,不是依照目錄選擇,而是在右邊的郵件列表ctrl+all,然後導出,可能是有bug


2014-9-22 19:52:53
1、系統找到定制的Csp庫是通過advapi32.dll
2、IE單進程:HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main下加入 DWORD 變量 TabProcGrowth 的值0
3、tcpip圖解:http://www.cricode.com/3568.html


2014-10-11 20:35:29
1、大塊凝視:
/*
... code ...
//*/
使用這一方式,能夠在不須要凝視時,直接加入一個‘/‘改為
//*
... code ...
//*/
使代碼區又一次有效。

缺點是不支持嵌套。 能夠使用#if(0)來做

小知識點日誌(2013-6-24~2014-10-11)