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

S.l.e!ep.¢%

像打了激速一樣,以四倍的速度運轉,開心的工作
簡單、開放、平等的公司文化;尊重個性、自由與個人價值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

內存崩潰的BUG
內存崩潰的BUG (2)
內存崩潰的BUG (3)

連續三天在跟蹤同個問題!!!!!!!!

今天重現了幾次問題,都是下面的原因導致的。

首先要說下IOCP的實現

下面的發送包時的代碼
-------------------------------------------------------------------------
PER_IO_CONTEXT* overlappedEx=new PER_IO_CONTEXT
overlappedEx->IOOperation= WRITE;
overlappedEx->wsabuf.buf= (char *)malloc( nLen );
if( NULL == overlappedEx->wsabuf.buf )
{
delete overlappedEx;
return -1;
}

if(WSASend(m_socket,&(overlappedEx->wsabuf), 0x01, &dwBytes, 0x00, &(overlappedEx->Overlapped), NULL ) == SOCKET_ERROR)
-------------------------------------------------------------------------


下面是完成端口通知時的處理代碼
-------------------------------------------------------------------------
?while (m_bIsRun)
?{
??result = GetQueuedCompletionStatus(m_hCompletionPort,&iosize,&key,&overlapped,INFINITE);
??if ( 0 == key )?
??{
???break;
??}
??if( NULL != overlappedEx )
??{
???if ( WRITE == overlappedEx->IOOperation )
???{???
????delete overlappedEx;
????continue;
???}
}

……
}
-------------------------------------------------------------------------

之后在?????delete overlappedEx; 前面用 OutPutDebugString 打印了調試信息, 發現在?
?delete overlappedEx; 執行后

WSASend 里面還會訪問到? overlappedEx 下面的??Overlapped,結果就在 WSASend 出錯了

overlappedEx 的結構體定義如下:

struct PER_IO_CONTEXT
{
?WSAOVERLAPPED????Overlapped;
?WSABUF????????????????????? wsabuf;
?IO_OPERATION?????????IOOperation;
};


查了下 MSDN? WSASend 函數的說明,無頭緒,明天繼續

Feedback

# re: 內存崩潰的BUG (4) 完成端口的問題? 程序的BUG?[未登錄]  回復  更多評論   

2009-04-02 19:48 by cppexplore
.............................
內存檢測工具跑一遍就能發現的問題,你還真執著啊。

# re: 內存崩潰的BUG (4) 完成端口的問題? 程序的BUG?  回復  更多評論   

2009-04-07 13:14 by freeeyes
推薦你使用完全端口的時候,一定要注意判空操作。
如果我是你的話,就這么寫。
while (m_bIsRun)
{
result = GetQueuedCompletionStatus(m_hCompletionPort,&iosize,&key,&overlapped,INFINITE);
if ( 0 == key )
{
break;
}
if( NULL != overlappedEx )
{
if ( WRITE == overlappedEx->IOOperation )
{
delete overlappedEx;
overlappedEx = NULL;
continue;
}
}

而且在使用Send的同時,可能會出現這樣的情況。就是你發送的Send數據還在緩沖區的時候,你的overlappedEx對象被釋放,造成的內存崩潰的現象。我的做法是增加一些數據鎖。同時,在要刪除overlappedEx的時候,先判定寫標志是否在進行。如果有做一個定時器,延時幾秒刪除對象(將對象放入刪除隊列),這樣似乎比較好。ACE下的思想也是這樣的。
另外,我不太明白你為什么要在WRITE == overlappedEx->IOOperation 的時候進行刪除對象操作?

# re: 內存崩潰的BUG (4) 完成端口的問題? 程序的BUG?  回復  更多評論   

2009-04-20 23:07 by hearts
我也遇到了這個問題。樓主發現的是對的。也是不知道為什么。只好對overlapped進行引用計數。問題倒是解決了,不過覺得做法很丑陋。不知道有沒有好的解決辦法。可能HasOverlappedCompleted有些幫助

# re: 內存崩潰的BUG (4) 完成端口的問題? 程序的BUG?  回復  更多評論   

2009-10-17 13:47 by FreeChord
delete overlappedEx;

這塊內存(buf)沒free啊!
overlappedEx->wsabuf.buf= (char *)malloc( nLen );
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久久久久久久岛国免费| 韩国免费一区| 一区二区三区四区国产| 亚洲最新视频在线播放| 亚洲资源在线观看| 一本久久综合亚洲鲁鲁五月天| 亚洲高清久久| 一区二区欧美国产| 午夜视频在线观看一区| 欧美资源在线| 蜜臀久久99精品久久久久久9| 欧美h视频在线| 亚洲每日更新| 亚洲欧美日韩一区二区| 久久精品一区二区| 欧美久久一区| 国产日韩欧美视频在线| 亚洲国产日韩欧美综合久久| 亚洲少妇一区| 欧美aⅴ99久久黑人专区| 亚洲精选中文字幕| 欧美一区激情| 欧美日韩视频在线第一区| 国产欧美日韩中文字幕在线| 亚洲国产精品久久久久秋霞蜜臀 | 亚洲成人在线免费| 亚洲最黄网站| 老司机aⅴ在线精品导航| 亚洲国产女人aaa毛片在线| 亚洲国产一区二区三区在线播| 亚洲精品永久免费精品| 欧美一区二区三区四区在线观看| 欧美成人一区在线| 国产一区999| 亚洲欧美久久| 亚洲精品小视频| 久久夜色精品国产| 国产欧美在线视频| 亚洲性人人天天夜夜摸| 亚洲第一区中文99精品| 亚洲欧美日韩中文视频| 欧美人妖在线观看| 亚洲国产欧美一区二区三区同亚洲| 午夜精品国产更新| 亚洲剧情一区二区| 欧美成黄导航| 亚洲黄网站在线观看| 久久综合999| 欧美伊久线香蕉线新在线| 国产精品久久久久久福利一牛影视| 亚洲国产精品黑人久久久| 久久婷婷亚洲| 久久精品国产999大香线蕉| 国产精品人人爽人人做我的可爱| 亚洲精品自在在线观看| 制服丝袜激情欧洲亚洲| 亚洲精品三级| 欧美华人在线视频| 亚洲高清123| 欧美xxx成人| 亚洲精品字幕| 亚洲视频在线观看三级| 欧美va亚洲va日韩∨a综合色| 国产欧美亚洲一区| 亚洲欧美激情四射在线日 | 亚洲国产黄色| 久久久91精品国产一区二区精品| 国产精品亚洲综合天堂夜夜| 中文一区二区| 亚洲一区二区三区777| 国产精品久久一区主播| 午夜在线观看免费一区| 亚洲一区影院| 狠狠入ady亚洲精品经典电影| 久久激情综合| 久久综合色播五月| 亚洲国产经典视频| 亚洲电影有码| 国产精品yjizz| 欧美在线视频不卡| 久久久久久久999精品视频| 亚洲电影毛片| 亚洲美女视频在线免费观看| 欧美视频一区二区| 亚洲一卡久久| 欧美自拍丝袜亚洲| 亚洲国产精品999| 亚洲三级观看| 国产精品美女在线观看| 久久精品一区蜜桃臀影院| 久久久免费精品视频| 亚洲人成毛片在线播放女女| 日韩一级精品视频在线观看| 国产精品美女在线| 麻豆亚洲精品| 欧美色中文字幕| 久久久久这里只有精品| 欧美成人精品在线观看| 午夜精品亚洲| 欧美国内亚洲| 久久亚洲春色中文字幕| 欧美日韩一区二区在线观看视频| 久久九九国产| 国产精品qvod| 最新日韩精品| 1024成人网色www| 亚洲一区二区高清视频| 亚洲人成在线观看一区二区| 亚洲欧美另类中文字幕| 亚洲毛片在线观看.| 欧美在线国产精品| 亚洲欧美日韩国产另类专区| 久久亚洲二区| 亚洲欧美电影在线观看| 久久久久久一区二区三区| 亚洲日本在线观看| 亚洲一区二区免费看| 亚洲黄色小视频| 久久福利电影| 午夜在线视频一区二区区别| 欧美xart系列在线观看| 久久精品亚洲国产奇米99| 欧美日韩亚洲视频一区| 欧美日韩国产成人在线观看| 久久夜色精品国产亚洲aⅴ| 国产精品jvid在线观看蜜臀| 亚洲国产精品悠悠久久琪琪| 狠狠色丁香久久婷婷综合_中| 亚洲视频免费看| 中文久久精品| 欧美黄色精品| 亚洲高清免费在线| 尤妮丝一区二区裸体视频| 亚洲午夜激情网页| 亚洲免费中文| 久久久精品国产免大香伊| 亚洲自拍偷拍网址| 欧美日韩亚洲一区在线观看| 99热在这里有精品免费| 久久久夜夜夜| 欧美电影免费观看网站| 欧美大胆a视频| 亚洲黄色三级| 欧美日韩一卡| 亚洲一区二区三区久久| 午夜激情综合网| 国产女主播一区二区三区| 香蕉成人啪国产精品视频综合网| 久久午夜精品一区二区| 欧美精品在线观看| 最新中文字幕亚洲| 99re8这里有精品热视频免费| 久久久久一区二区三区| 欧美顶级大胆免费视频| 亚洲人午夜精品| 欧美女同在线视频| 日韩亚洲欧美在线观看| 亚洲网站视频福利| 国产精品免费一区二区三区观看 | 欧美国产成人在线| 亚洲精品视频免费观看| 欧美日韩大片一区二区三区| av成人激情| 久久国产精品久久久久久久久久| 国产亚洲欧美日韩精品| 老司机精品视频一区二区三区| 亚洲福利视频专区| 亚洲女性裸体视频| 黄色工厂这里只有精品| 欧美精品一区二区三区蜜桃| 亚洲天堂视频在线观看| 老妇喷水一区二区三区| 亚洲精选大片| 国产亚洲成精品久久| 欧美aⅴ99久久黑人专区| 一区二区三区福利| 欧美成人a视频| 亚洲男人的天堂在线aⅴ视频| 久久大逼视频| 国内精品久久久久影院色| 欧美多人爱爱视频网站| 亚洲天堂av图片| 欧美黄色精品| 久久久97精品| 亚洲四色影视在线观看| 在线观看欧美| 国产精品亚洲欧美| 欧美—级a级欧美特级ar全黄| 亚洲欧美日韩中文视频| 亚洲美女尤物影院| 欧美成人一区二区三区片免费| 欧美日韩国产一区精品一区 | 欧美日韩午夜剧场| 久久久精品国产免费观看同学| 亚洲片在线观看| 老司机凹凸av亚洲导航| 亚洲午夜激情网页| 1024亚洲| 激情婷婷欧美| 国产视频精品免费播放|