青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

曲徑通幽

programming_with_fun();

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  18 Posts :: 0 Stories :: 5 Comments :: 0 Trackbacks

常用鏈接

留言簿(6)

我參與的團隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

#

  最近發生一件有趣的事。過去一段代碼在64位windows系統上運行有問題。一個 CopyFile的API返回正確,但目標目錄system32下卻沒有相應文件。
  查找了一遍,發現syswow64目錄下有該文件,于是猜測OS做了目錄映射。
  后來找到了依據:http://support.microsoft.com/kb/942589
  32-bit APP在64-bit OS上運行,很多方面都需要學習。

posted @ 2010-11-01 00:07 Meiosis 閱讀(356) | 評論 (0)編輯 收藏

  最近QQ游戲開發群里有一位朋友出了一道題,“如何在基類中調用子類獨有的函數,而不調用強制轉換”。這道題我一時間沒做出來,但是如果放寬限制,其實可以玩一個有趣的游戲。
  如果題目改為“如何在基類中調用子類獨有的虛函數,而不調用Class類型強制轉換”,那就可以利用C++對象模型中的虛表的直接訪問來實現父類調用子類的特有虛函數。(注意,這里特有是指子類有而基類沒有。)
  以下是我的解法,也在QQ群里發了,想不到引起群成員小小的轟動,看來游戲開發還是有很多同學對底層不感興趣啊。

 1 #include <stdio.h>
 2 
 3 class CFather{
 4 public:
 5     virtual ~CFather(){}
 6 };
 7 
 8 class CSon : public CFather{
 9     virtual ~CSon(){}
10 
11     virtual void DoSomething(void){ printf("son is crying\n"); }
12 };
13 
14 int _tmain(int argc, _TCHAR* argv[])
15 {
16     CFather* fa = new CSon();
17     DWORD dwDoSomething =  (*(DWORD*)(*(DWORD*)fa+4));
18     _asm MOV ecx, fa
19     _asm CALL dwDoSomething
20 
21     system("pause");
22     return 0;
23 }
24 
25 


posted @ 2010-10-18 18:07 Meiosis 閱讀(2203) | 評論 (1)編輯 收藏

  由于自己是寫Server端程序的。最近有個別客戶反映在服務端負載量大的情況下,經常有客戶端的TCP請求處理超時。看了log文件,發現是服務端接收請求之后,未能及時處理請求并回復客戶端應答造成。
  仔細觀察了請求的處理過程,唯一耗時的就是文件I/O的Flush操作,因為這個操作會強制要求OS提交IO請求,而不是用OS自帶的IO緩沖。如果在IO處理非常頻繁的情況下,的確會導致服務端I/O告急,磁盤壓力過大,性能大幅下降,

posted @ 2010-08-24 19:14 Meiosis 閱讀(747) | 評論 (0)編輯 收藏

  昨晚有客戶反應,產品中的某個進程啟動后1分鐘內會消失,看了log未發現異常。
  于是遠程過去,想看本潰報告,很遺憾的是,沒有生成任何本潰報告(我們用的是Debug系列的api寫的Crash Reporter)。情急之下,唯有求助偉大的Windbg了。
  attach,g,過一會兒,果然發現是有一處seh。但隨即發現缺symbols,于是馬上去發布服務器上找相應的pdb文件,放到遠程上去,.reload,果然,未知地址被準確地翻譯成代碼中的標識符。
  原來,崩潰的地方是動態加載的一個dll中的一個回調函數,怪不得沒捕獲到Crash Report。
  總結下來,Release版本的PDB生成是個關鍵,單有Windbg仍舊是巧婦難為無米之炊啊。

posted @ 2010-07-22 08:26 Meiosis 閱讀(351) | 評論 (0)編輯 收藏

  最近用戶發現某個進程CPU占用率過高,導致服務器假死。
  于是想用Windbg嘗試調試一下。幸好我們的軟件發布時都會保留一份PDB文件。因此Windbg能夠準確地找到Symbol,即使是Release Version。
  打開Windbg幫助文檔,搜索"CPU"關鍵字,隨即找到了“Tracking Down a Processor Hog”。按照上面的方法試了一下,果然可以準確地定位到某個死鎖的線程。
  現在在工作中,利用Olldbg和Windbg的機會越來越多,在解決問題的過程中,也越發有成就感了。

posted @ 2010-07-12 19:17 Meiosis 閱讀(1978) | 評論 (0)編輯 收藏

  今天在Code Project最新更新中看到"XCrashReport : Exception Handling and Crash Reporting"一文,泛讀之后,又讀了其中引用的幾篇文章。覺得挺不錯。主要講了VC Relase版本如何定位問題,主要思路是打開Link選項"Generate debug info"、添加參數"/OPT:REF"和/ignore:4089 ",用作Release版本產生PDF,且優化的時候能使產生的目標文件更小。效果比較明顯。
  隨便寫了一個會崩潰的工程,崩潰后記錄其崩潰位置,然后隨便打開一款調試器(OD,WinDBG,VC都可)運行debug,然后改EIP到出錯的位置下斷,GO!
  其實,在運行出錯的位置,然后改EIP的方法,以前在用OD時會使用到(類似F4或VC調試時的移動EIP),一直覺得ESP和Call Stack應該是分析Crash的重點,有時忽略了EIP的重要性。
posted @ 2010-07-01 14:43 Meiosis 閱讀(276) | 評論 (0)編輯 收藏

  今天在學 《Learning Cocoa With Objective-C》其中有個AddressBook的例子,會發生編譯錯誤。原來是少了引用的依賴。
  添加方法是:Project - Add to project, 尋找\System\Library\Framework\AddressBook.framework中找到依賴的項即可。

posted @ 2010-06-20 23:42 Meiosis 閱讀(2593) | 評論 (0)編輯 收藏

  最近拿到一個第三方廠家的庫,由于Delphi的同事看不懂c++的例子,所以讓我用C++封裝一個簡單的Wrapper給其調用。
  后來發現一個問題,由于原始的函數聲明中的參數使用字符數組 (char szData[MAX_PATH])  而不是用常用的指針(char *),給Delphi同事調用后,發現函數調用完退棧時候程序本潰,原因是訪問違例,非法地址訪問0x72。
  這么一來感覺比較奇怪,0x72 這個地址顯然是個垃圾地址,一般如果是空指針的話因該是 0x00,如果是野指針,一般也不至于會那么小,0x72與程序加載地址都相去甚遠。
  在vc6(公司只準用vc6)里跟了一下反匯編,感覺信息缺少比較多,能看到的地方已經堆棧被破壞了。于是用了OD跟一下。發現Delphi調用我封裝的 函數時,明明2個入參,卻傳入了3個。多傳了個260。260對于vc程序員應該比較熟悉了,就是MAX_PATH的值。于是乎,告知了Delphi程序 員,方才得知,原來Delphi是可以在聲明時指定數組長度的,也就是說,函數的入參,數組和指針是兩種聲明,如此一來,水落石出了。
posted @ 2010-06-20 23:34 Meiosis 閱讀(386) | 評論 (0)編輯 收藏

僅列出標題
共2頁: 1 2 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美不卡视频一区| 国产日韩欧美一区二区三区在线观看| 久久久久久69| 亚洲欧美国产77777| 午夜精品久久久久久久久久久久| 欧美高清视频www夜色资源网| 欧美一区二区三区播放老司机 | 欧美视频中文一区二区三区在线观看| 久久躁日日躁aaaaxxxx| 欧美成人首页| 国产精品进线69影院| 国产午夜精品理论片a级大结局| 国产精品视频你懂的| 激情欧美一区二区三区| 亚洲国产你懂的| 亚洲午夜电影| 欧美成熟视频| 午夜精品久久久久久| 欧美r片在线| 精东粉嫩av免费一区二区三区| 亚洲精品日产精品乱码不卡| 久久精彩免费视频| 日韩视频在线免费观看| 久久人人爽人人爽| 国产精品久久久久9999吃药| 亚洲国产美女久久久久 | 欧美精品在线一区| 国产在线拍偷自揄拍精品| 一本色道久久88综合亚洲精品ⅰ| 午夜免费日韩视频| 99在线视频精品| 欧美成熟视频| 日韩亚洲精品电影| 亚洲国产精品成人久久综合一区| 亚洲免费一区二区| 99视频精品全国免费| 你懂的亚洲视频| 最近看过的日韩成人| 欧美福利视频在线| 一区二区免费在线观看| 亚洲美女淫视频| 国产精品五区| 久久影视三级福利片| 老司机精品视频网站| 一本大道久久a久久综合婷婷 | 亚洲国产成人午夜在线一区| 久久精品动漫| 91久久国产综合久久91精品网站| 亚洲国产精品一区在线观看不卡 | 欧美在线观看www| 久久精品综合| 亚洲欧美不卡| 久久九九全国免费精品观看| 日韩视频一区二区三区在线播放免费观看 | 午夜欧美不卡精品aaaaa| 亚洲自拍偷拍麻豆| 亚洲久久一区| 久久成人免费网| 亚洲欧美电影在线观看| 久久免费黄色| 久久久999精品| 亚洲视频网在线直播| 黄色成人片子| 亚洲婷婷综合色高清在线| 亚洲区一区二| 久久久久久久久岛国免费| 亚洲一二三区精品| 欧美国产精品一区| 欧美国产日韩视频| 黄色一区二区三区四区| 亚洲综合首页| 久久精品视频免费观看| 国产精品二区二区三区| 亚洲精品一区二区三区四区高清 | 午夜久久tv| 欧美一区=区| 一区一区视频| 欧美精品在线观看一区二区| 日韩午夜在线电影| 新狼窝色av性久久久久久| 国产精品一区二区欧美| 午夜在线一区二区| 久久亚洲精品网站| 亚洲激情在线播放| 国产女人18毛片水18精品| 午夜视频久久久久久| 欧美多人爱爱视频网站| 日韩视频在线一区二区| 国产日本精品| 欧美人交a欧美精品| 欧美一区影院| 日韩视频在线观看一区二区| 蜜桃av一区| 亚洲一卡久久| 91久久久亚洲精品| 国产精品男gay被猛男狂揉视频| 久久精品色图| 欧美在线视频播放| 日韩视频中文字幕| 国产亚洲精品自拍| 久久九九99视频| 欧美视频在线观看一区二区| 欧美一区二区三区视频在线观看| 欧美freesex交免费视频| 在线一区二区日韩| 夜夜嗨av一区二区三区网站四季av | 久久综合九色综合欧美就去吻| av成人福利| 在线天堂一区av电影| 亚洲另类一区二区| 欧美大色视频| 亚洲国产一区二区三区在线播 | 欧美日韩国产影院| 嫩草影视亚洲| 欧美日韩国产影院| 欧美日韩精品一区二区天天拍小说| 免费看av成人| 欧美日本三级| 欧美日韩精品在线观看| 欧美黄色一区| 欧美日韩精品免费观看视一区二区| 老司机一区二区| 欧美国产日本韩| 欧美三区不卡| 国产婷婷色一区二区三区| 国产日韩欧美视频| 亚洲国产精品一区二区久| 日韩天堂av| 久久久激情视频| 亚洲经典在线看| 亚洲欧美日韩国产成人| 欧美在线亚洲一区| 久久久久在线观看| 亚洲精品久久久久| 欧美专区第一页| 国产精品久久久久久久久久久久 | 女生裸体视频一区二区三区| 欧美久久综合| 亚洲黄色在线| 久久福利一区| aa亚洲婷婷| 欧美理论电影在线播放| 国产一区二区三区免费在线观看| 最新日韩精品| 欧美成人一区二区三区片免费| 一区二区三区精品视频在线观看| 久久影音先锋| 在线观看国产欧美| 亚洲欧美国产一区二区三区| 国产午夜亚洲精品不卡| 日韩视频专区| 亚洲日本欧美天堂| 久久免费99精品久久久久久| 国产一区二区三区四区| 亚洲一区二区三区高清不卡| 91久久国产综合久久91精品网站| 久久久久9999亚洲精品| 精品成人国产在线观看男人呻吟| 午夜一级在线看亚洲| 欧美77777| 一区二区三区av| 欧美亚男人的天堂| 一区二区三区四区国产| 一区二区三区精品久久久| 欧美日韩国产精品专区| 亚洲天堂第二页| 亚洲欧美日韩精品久久久久| 中国女人久久久| 国产一区激情| 亚洲国产精品精华液网站| 欧美日韩亚洲国产一区| 久久国产欧美日韩精品| 欧美freesex8一10精品| 欧美一区成人| 欧美日韩国产综合一区二区| 欧美一区在线直播| 欧美日韩福利在线观看| 久久在线视频| 欧美色欧美亚洲高清在线视频| 久久久蜜桃一区二区人| 欧美久久久久中文字幕| 牛人盗摄一区二区三区视频| 国产伦精品一区二区三区免费| 欧美激情第三页| 国产主播一区二区| av不卡免费看| 亚洲影院免费| 欧美日韩一区二区三区免费看| 美女精品在线| 一区二区在线观看av| 欧美一区二区三区免费观看| 翔田千里一区二区| 国产日韩欧美综合一区| 亚洲男同1069视频| 久久精品国产2020观看福利| 国产精品亚洲综合天堂夜夜| 亚洲伊人一本大道中文字幕| 欧美一区二区三区在| 国内揄拍国内精品久久| 久久精品免费看|