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

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.¢% 閱讀(1738) 評(píng)論(3)  編輯 收藏 引用 所屬分類(lèi): WinDbg

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

在昨天的調(diào)試中,感謝JayZ
-----------------------------------------------------------------------------------------------------
地址段034bd000 - 00007000沒(méi)法訪(fǎng)問(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ì)訪(fǎng)問(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>
            女人天堂亚洲aⅴ在线观看| 国产精品久久国产愉拍 | 老司机午夜精品视频在线观看| 亚洲欧美在线另类| 亚洲一区二区在线免费观看| 亚洲欧美大片| 久久久水蜜桃av免费网站| 久久亚洲精品欧美| 欧美11—12娇小xxxx| 欧美国产乱视频| 99精品国产在热久久| 亚洲一本视频| 久久久久免费| 欧美精品一区二区三区在线播放 | 国产午夜精品理论片a级探花| 国产欧美一区二区精品忘忧草| 狠狠色丁香婷婷综合影院| 亚洲国产欧美一区二区三区丁香婷| 99热在这里有精品免费| 性久久久久久久久久久久| 久久综合久久综合久久| 亚洲毛片在线看| 亚洲自拍偷拍色片视频| 欧美影院在线播放| 欧美电影在线| 亚洲一卡久久| 欧美成人69| 国产欧美日韩在线| 一区二区三区免费在线观看| 久久久久国产成人精品亚洲午夜| 亚洲欧洲在线观看| 午夜国产精品影院在线观看| 欧美精品久久久久久| 黄色精品一区二区| 亚洲欧美99| 亚洲久久一区二区| 久久男人资源视频| 国产麻豆午夜三级精品| 日韩亚洲欧美综合| 免费在线观看日韩欧美| 午夜免费电影一区在线观看| 欧美三级乱码| 亚洲麻豆av| 欧美大片在线观看| 欧美影院久久久| 国产精品一区一区| 亚洲欧美电影院| 一区二区三区视频在线播放| 欧美成人免费播放| 在线观看一区欧美| 久久久久久久999精品视频| 一本综合久久| 国产精品白丝av嫩草影院| 日韩网站免费观看| 欧美国产日产韩国视频| 久久这里只有| 亚洲第一页中文字幕| 免费短视频成人日韩| 久久久91精品国产| 精久久久久久久久久久| 裸体一区二区| 美玉足脚交一区二区三区图片| 激情婷婷欧美| 欧美成人免费大片| 久久米奇亚洲| 亚洲人永久免费| 亚洲国产欧美精品| 欧美日韩 国产精品| 亚洲视频电影图片偷拍一区| 99亚洲一区二区| 国产精品久久久久三级| 欧美在线观看视频| 欧美在线视频a| 亚洲国产精品一区二区www| 亚洲黄色成人| 国产精品乱码妇女bbbb| 久久久久国产免费免费| 久久在线免费视频| 一区二区三区成人| 亚洲一区二区av电影| 国产亚洲精品成人av久久ww| 美女亚洲精品| 欧美日韩国产精品自在自线| 国产欧美韩日| 老司机免费视频一区二区| 蜜臀av一级做a爰片久久| 一个人看的www久久| 亚洲免费影视| 91久久线看在观草草青青| 99re6这里只有精品| 国产一区二区三区精品欧美日韩一区二区三区| 久久人人爽人人| 欧美日韩国产成人高清视频| 欧美一区二区三区播放老司机| 久久黄色级2电影| 亚洲免费电影在线观看| 亚洲综合另类| 亚洲九九九在线观看| 亚洲欧美日韩国产| 亚洲国产精品t66y| 亚洲已满18点击进入久久| 亚洲欧洲一区二区三区在线观看| 亚洲天堂av在线免费| 亚洲第一主播视频| 亚洲欧美日韩国产精品| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲午夜久久久| 亚洲三级观看| 久久综合给合久久狠狠狠97色69| 香蕉国产精品偷在线观看不卡| 欧美成人综合| 快播亚洲色图| 国产精品男人爽免费视频1| 欧美激情网友自拍| 黑人巨大精品欧美一区二区小视频 | 欧美激情第二页| 欧美在线你懂的| 欧美日韩免费观看一区三区| 男男成人高潮片免费网站| 国产酒店精品激情| 亚洲美女黄网| 一区二区精品在线| 欧美成人黄色小视频| 免费不卡在线观看| 国产三级精品三级| 亚洲影院污污.| 午夜一区二区三区在线观看| 欧美日韩国产成人在线免费| 欧美大片在线观看一区| 狠狠色丁香婷综合久久| 欧美一级专区| 久久人人精品| 在线播放中文一区| 久久久亚洲午夜电影| 麻豆精品视频在线观看| 精品成人在线视频| 久热爱精品视频线路一| 欧美电影电视剧在线观看| **网站欧美大片在线观看| 久久免费视频在线观看| 欧美激情1区| 一区二区三区回区在观看免费视频| 欧美精品免费在线观看| 亚洲国产精品电影在线观看| 亚洲精品乱码久久久久久黑人 | 国产一区在线观看视频| 午夜欧美精品| 免费观看欧美在线视频的网站| 精品91久久久久| 免费看黄裸体一级大秀欧美| 亚洲三级电影在线观看| 亚洲一区二区三区涩| 国产精品美女一区二区| 欧美一区免费视频| 欧美成人久久| 亚洲一区亚洲| 国产在线高清精品| 久久综合网络一区二区| 亚洲欧洲一区二区三区久久| 亚洲中字在线| 一区二区在线视频| 欧美精品成人在线| 亚洲欧美日韩一区在线| 欧美刺激午夜性久久久久久久| 亚洲卡通欧美制服中文| 国产精品初高中精品久久| 欧美在线观看视频在线| 亚洲国内自拍| 久久久在线视频| 一区二区三区四区五区精品视频| 国产精品私人影院| 免费观看一级特黄欧美大片| 一区二区三区视频在线看| 久久免费午夜影院| 一区二区三区高清不卡| 激情国产一区| 国产精品高潮粉嫩av| 麻豆国产精品777777在线| 亚洲一本视频| 91久久精品视频| 麻豆久久久9性大片| 亚洲一区免费| 91久久精品国产91性色tv| 国产日产高清欧美一区二区三区| 欧美1区视频| 欧美一区二区视频在线| 91久久综合| 欧美va亚洲va国产综合| 欧美一二三视频| 一区二区av在线| 亚洲国产精品久久久久婷婷老年| 国产欧美一区在线| 欧美日韩亚洲另类| 欧美成人久久| 欧美www在线| 美女日韩在线中文字幕| 欧美一区二区三区在线观看| 中日韩美女免费视频网站在线观看| 欧美电影资源| 裸体歌舞表演一区二区|