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

S.l.e!ep.¢%

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

內(nèi)存崩潰的BUG (3)

Posted on 2009-04-01 13:35 S.l.e!ep.¢% 閱讀(1741) 評(píng)論(3)  編輯 收藏 引用 所屬分類(lèi): WinDbg

內(nèi)存崩潰的BUG
內(nèi)存崩潰的BUG (2)

在昨天的調(diào)試中,感謝JayZ
-----------------------------------------------------------------------------------------------------
地址段034bd000 - 00007000沒(méi)法訪問(wèn)。

看調(diào)用棧0012e50c 0042ffc3 00000400 034c0fec 00000001 ws2_32!WSASend+0x61

WSASend的第二個(gè)參數(shù)為034c0fec很不幸的落在這個(gè)區(qū)間內(nèi)。看WSASend的原型
int WSASend(
__in SOCKET s,
__in LPWSABUF lpBuffers,
__in DWORD dwBufferCount,
__out LPDWORD lpNumberOfBytesSent,
__in DWORD dwFlags,
__in LPWSAOVERLAPPED lpOverlapped,
__in LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
);
顯然第二個(gè)參數(shù)lpBuffers的地址非法。

call stack frame往上就是你的代碼了:
0012f580 0040e577 0012f5bc 00000014 0012f58c xxx.exe+xxx-function

你需要在這里確認(rèn)一下為什么傳出的lpBuffers指向一個(gè)錯(cuò)誤的地址
-------------------------------------------------------------------------------------------------------

傳入 WSASend 的第二個(gè)參數(shù) lpBuffers 確實(shí)指向了一個(gè)錯(cuò)誤的地址,
用 knL + .frame + x
查看了?? xxx.exe+xxx-function???? 的局部變量,發(fā)現(xiàn)

-------------------------------------------------------------------------------------------------------
PER_IO_CONTEXT* overlappedEx=new PER_IO_CONTEXT;????? 發(fā)現(xiàn)??overlappedEx ?這個(gè)指針已經(jīng)指向的內(nèi)存是不對(duì)的
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,
&(overlappedEx->dwBytes), overlappedEx->dwFlags,
&(overlappedEx->Overlapped), NULL ) == SOCKET_ERROR)
{

在IOCP通知后,會(huì) delete overlappedEx
-------------------------------------------------------------------------------------------------------

懷疑是不是 overlappedEx 這個(gè)指針的值被其它地方修改了?
于是在局?jǐn)?shù)變量中定義了多一個(gè)變量,在 WSASend 調(diào)用前,加多這個(gè)語(yǔ)句,

PER_IO_CONTEXT* p? = overlappedEx;

等了幾個(gè)小時(shí),再次重現(xiàn)問(wèn)題,

用 knL + .frame + x
查看了?? xxx.exe+xxx-function???? 的局部變量,發(fā)現(xiàn)

p 的值跟 overlappedEx 還是相等的, 但它們指向的內(nèi)存卻是

0366fe8c p = 0x03443fd8
0:010> !address 0x03443fd8
??? 03442000 : 03442000 - 00007000
??????????????????? Type???? 00000000
??????????????????? Protect? 00000001 PAGE_NOACCESS
??????????????????? State??? 00010000 MEM_FREE????????????????
??????????????????? Usage??? RegionUsageFree
0:010> dd 0x03443fd8
03443fd8? ???????? ???????? ???????? ????????
03443fe8? ???????? ???????? ???????? ????????
03443ff8? ???????? ???????? ???????? ????????
03444008? ???????? ???????? ???????? ????????
03444018? ???????? ???????? ???????? ????????
03444028? ???????? ???????? ???????? ????????
03444038? ???????? ???????? ???????? ????????
03444048? ???????? ???????? ???????? ????????

0:010> KB
ChildEBP RetAddr? Args to Child?????????????
0366edac 71a26294 00000668 03443fec 00000001 mswsock!WSPSend+0x243
0366ede8 00430027 00000668 03443fec 00000001 ws2_32!WSASend+0x77

初步結(jié)論是: 在執(zhí)行到? mswsock!WSPSend+0x243 ,在 WSASend 上一層 new 出來(lái)的? PER_IO_CONTEXT 已經(jīng)被 delete 了

Feedback

# re: 內(nèi)存崩潰的BUG (3)   回復(fù)  更多評(píng)論   

2009-04-02 00:15 by JayZ
看如下輸出:
03442000 : 03442000 - 00007000
Type 00000000
Protect 00000001 PAGE_NOACCESS
State 00010000 MEM_FREE
Usage RegionUsageFree
這個(gè)內(nèi)存段甚至已經(jīng)不屬于Heap了(RegionUsageFree)。

建議放個(gè)條件斷點(diǎn)在VirtualFree里面,來(lái)看一下這個(gè)內(nèi)存段什么時(shí)候被free掉的。從call stack上面應(yīng)該很容易就能發(fā)現(xiàn)問(wèn)題。

# re: 內(nèi)存崩潰的BUG (3)   回復(fù)  更多評(píng)論   

2009-04-02 08:36 by guest
下內(nèi)存斷點(diǎn)來(lái)監(jiān)視,看看到底是被誰(shuí)給改了。

# re: 內(nèi)存崩潰的BUG (3)   回復(fù)  更多評(píng)論   

2009-04-02 12:17 by S.l.e!ep.¢%
-------------------------------------------------------------------------------------------------------
PER_IO_CONTEXT* overlappedEx=new PER_IO_CONTEXT; 發(fā)現(xiàn) overlappedEx 這個(gè)指針已經(jīng)指向的內(nèi)存是不對(duì)的
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, 0,
&(overlappedEx->Overlapped), NULL ) == SOCKET_ERROR)
{

在IOCP通知后,會(huì) delete overlappedEx
-------------------------------------------------------------------------------------------------------

今天直接用 Windbg 啟動(dòng)程序,在 在IOCP通知后,會(huì) delete overlappedEx 用 OutPutDebugString 打日志,
發(fā)現(xiàn) 在 delete overlappedEx 后,
WSASend 還會(huì)訪問(wèn)到 overlappedEx
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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国产| 日韩视频不卡| 亚洲欧美日韩精品综合在线观看| 老司机67194精品线观看| 欧美一区二区| 久久亚裔精品欧美| 亚洲在线视频免费观看| 亚洲国产精品成人综合色在线婷婷| 国产亚洲一区二区三区在线观看| 国产精品视频网址| 雨宫琴音一区二区在线| 99re在线精品| 久久综合电影| 男人的天堂亚洲在线| 99精品免费网| 久久久午夜视频| 国产精品理论片在线观看| 亚洲精品久久久久久久久久久久久| 久久久久久久性| 9久草视频在线视频精品| 欧美在线国产| 欧美日韩亚洲系列| 亚洲国产二区| 亚洲精品一区二区三区四区高清 | 久久精品视频在线看| 欧美成人精品在线观看| 国产色婷婷国产综合在线理论片a| 91久久精品国产91久久性色| 亚洲免费一级电影| 亚洲精品日韩激情在线电影 | 亚洲男女毛片无遮挡| 亚洲国产女人aaa毛片在线| 午夜精品福利在线| 国产噜噜噜噜噜久久久久久久久| 99精品视频免费全部在线| 亚洲第一精品福利| 亚洲一区中文字幕在线观看| 久久久久88色偷偷免费| 激情av一区| 欧美电影在线观看| 免费不卡在线观看av| 亚洲日本久久| 亚洲另类黄色| 国产精品h在线观看| 香蕉视频成人在线观看 | 国产精品一区亚洲| 久久成人18免费观看| 欧美在线一区二区| 亚洲夫妻自拍| 在线亚洲伦理| 1000部国产精品成人观看| 夜夜躁日日躁狠狠久久88av| 亚洲九九九在线观看| 亚洲午夜激情网页| 久久人人爽人人爽爽久久| 99国产精品久久久久久久久久| 99精品国产一区二区青青牛奶| 国产综合第一页| 一区二区欧美日韩| av成人动漫| 美女爽到呻吟久久久久| 在线视频欧美一区| 久久九九免费| 久久久久国产精品一区三寸| 国产精品啊啊啊| 亚洲精品久久久久久久久| 国产日韩欧美一区二区三区四区| av成人手机在线| 亚洲毛片视频| 欧美日韩在线免费视频| 美女福利精品视频| 国产在线精品二区| 欧美一级理论片| 久久精品综合网| 国产精品呻吟| 欧美在线视频免费| 久久精品亚洲精品国产欧美kt∨| 国产日韩精品久久| 久久精品久久综合| 欧美精品久久一区二区| 91久久国产精品91久久性色| 91久久一区二区| 蜜乳av另类精品一区二区| 国产精品日韩欧美一区二区三区 | 亚洲精品日韩激情在线电影 | 欧美ed2k| 久久国产手机看片| 一区二区三区在线高清| 欧美高清视频| 久久精品女人的天堂av| 欧美国产成人精品| 欧美一区二区高清| 亚洲黄网站在线观看| 国产欧美日韩精品a在线观看| 欧美在线播放视频| 亚洲精品国产精品乱码不99 | 欧美美女喷水视频| 欧美在线一二三| 亚洲一区二区三区在线看| 久久久久国产精品一区二区| 国产精品99久久久久久宅男| 亚洲电影自拍| 亚洲国产日韩综合一区| 激情欧美一区二区三区在线观看| 国产一区二区三区精品欧美日韩一区二区三区| 欧美亚洲视频| 亚洲性感激情| 亚洲一区二区黄色| 日韩视频在线观看| 在线日韩欧美视频| 国产自产女人91一区在线观看| 国产精品国产三级国产普通话蜜臀| 麻豆精品精华液| 久久久人成影片一区二区三区观看 | 国产精品亚洲欧美| 欧美视频在线观看| 国产精品久久久久久久久久ktv| 欧美成人免费网站| 欧美人妖在线观看| 欧美体内谢she精2性欧美 | 日韩午夜电影在线观看| 狠狠狠色丁香婷婷综合久久五月 | 亚洲一区二区三区777| 午夜日韩视频| 免费久久99精品国产自| 亚洲国产精品精华液2区45 | 国产精品中文字幕欧美| 国产综合亚洲精品一区二| 激情久久影院| 亚洲免费影视第一页| 玖玖玖免费嫩草在线影院一区| 欧美成人精品福利| 中文在线不卡视频| 欧美一区三区二区在线观看| 亚洲精品一级| 国产精品久久久久久久久免费桃花| 国产裸体写真av一区二区| 亚洲精品黄色| 麻豆成人av| 午夜精品久久久久久| 欧美人与性禽动交情品| 怡红院精品视频在线观看极品| 亚洲一区精品在线| 国产精品一区二区三区久久| 亚洲国产精品悠悠久久琪琪| 午夜欧美精品| 一区二区三区高清| 欧美中文字幕视频| 亚洲精品一二三| 欧美成人精品激情在线观看| 国内一区二区三区| 久久久久国产精品午夜一区| 夜色激情一区二区| 欧美三级午夜理伦三级中视频| 日韩视频不卡中文| 亚洲免费激情| 欧美性大战久久久久| 极品尤物久久久av免费看| 欧美在线一级视频| 欧美一区二区三区免费大片| 国产一区二区精品久久99| 久久久久国产一区二区三区| 亚洲人体偷拍| 亚洲女性裸体视频| 亚洲激情在线观看视频免费| 亚洲国产人成综合网站| 国产精品嫩草影院一区二区| 久久综合网络一区二区| 欧美激情精品久久久久久| 亚洲欧美网站| 欧美精品九九| 久久最新视频| 国产女人精品视频| 欧美华人在线视频| 国产精品免费在线| 最新高清无码专区| 在线观看的日韩av| 欧美一区二区日韩一区二区| av成人天堂| 欧美精品一区二区三区很污很色的| 亚洲视频 欧洲视频| 久久久亚洲综合| 久久久国产午夜精品| 国产精品r级在线| 欧美激情免费观看| 91久久精品一区二区三区| 久热re这里精品视频在线6| 久久av红桃一区二区小说| 国产精品高潮呻吟| 亚洲欧美视频一区二区三区| 亚洲综合色在线| 欧美午夜片在线观看| 国产精品综合视频| 亚洲欧美精品伊人久久| 一本色道综合亚洲| 国产精品成人免费视频| 亚洲欧美日韩国产综合在线| 欧美亚洲一区在线| 亚洲第一页在线| 欧美视频在线观看视频极品|