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

S.l.e!ep.¢%

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

內存崩潰的BUG (3)

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

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

在昨天的調試中,感謝JayZ
-----------------------------------------------------------------------------------------------------
地址段034bd000 - 00007000沒法訪問。

看調用棧0012e50c 0042ffc3 00000400 034c0fec 00000001 ws2_32!WSASend+0x61

WSASend的第二個參數為034c0fec很不幸的落在這個區間內。看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
);
顯然第二個參數lpBuffers的地址非法。

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

你需要在這里確認一下為什么傳出的lpBuffers指向一個錯誤的地址
-------------------------------------------------------------------------------------------------------

傳入 WSASend 的第二個參數 lpBuffers 確實指向了一個錯誤的地址,
用 knL + .frame + x
查看了?? xxx.exe+xxx-function???? 的局部變量,發現

-------------------------------------------------------------------------------------------------------
PER_IO_CONTEXT* overlappedEx=new PER_IO_CONTEXT;????? 發現??overlappedEx ?這個指針已經指向的內存是不對的
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通知后,會 delete overlappedEx
-------------------------------------------------------------------------------------------------------

懷疑是不是 overlappedEx 這個指針的值被其它地方修改了?
于是在局數變量中定義了多一個變量,在 WSASend 調用前,加多這個語句,

PER_IO_CONTEXT* p? = overlappedEx;

等了幾個小時,再次重現問題,

用 knL + .frame + x
查看了?? xxx.exe+xxx-function???? 的局部變量,發現

p 的值跟 overlappedEx 還是相等的, 但它們指向的內存卻是

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

初步結論是: 在執行到? mswsock!WSPSend+0x243 ,在 WSASend 上一層 new 出來的? PER_IO_CONTEXT 已經被 delete 了

Feedback

# re: 內存崩潰的BUG (3)   回復  更多評論   

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

建議放個條件斷點在VirtualFree里面,來看一下這個內存段什么時候被free掉的。從call stack上面應該很容易就能發現問題。

# re: 內存崩潰的BUG (3)   回復  更多評論   

2009-04-02 08:36 by guest
下內存斷點來監視,看看到底是被誰給改了。

# re: 內存崩潰的BUG (3)   回復  更多評論   

2009-04-02 12:17 by S.l.e!ep.¢%
-------------------------------------------------------------------------------------------------------
PER_IO_CONTEXT* overlappedEx=new PER_IO_CONTEXT; 發現 overlappedEx 這個指針已經指向的內存是不對的
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通知后,會 delete overlappedEx
-------------------------------------------------------------------------------------------------------

今天直接用 Windbg 啟動程序,在 在IOCP通知后,會 delete overlappedEx 用 OutPutDebugString 打日志,
發現 在 delete overlappedEx 后,
WSASend 還會訪問到 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>
            国产日韩欧美综合在线| 91久久精品国产91性色tv| 国产精品久久久久91| 欧美日韩 国产精品| 欧美精品粉嫩高潮一区二区| 欧美成人午夜剧场免费观看| 欧美精品三级| 欧美大片免费观看在线观看网站推荐| 久久高清免费观看| 老牛影视一区二区三区| 男人的天堂亚洲| 亚洲免费久久| 午夜精品一区二区三区电影天堂| 久久国产一区二区| 美日韩免费视频| 欧美午夜一区| 黄色欧美成人| 亚洲久久一区二区| 香蕉成人啪国产精品视频综合网| 久久久噜噜噜久久中文字幕色伊伊| 久久人人爽国产| 亚洲欧洲日韩在线| 亚洲欧美中文在线视频| 老司机精品导航| 国产精品久久二区二区| 国内成人自拍视频| 在线视频精品一区| 久久综合99re88久久爱| 99视频精品全部免费在线| 欧美尤物一区| 欧美日韩在线亚洲一区蜜芽| 国际精品欧美精品| 亚洲一区二区黄| 欧美福利专区| 欧美亚洲三区| 国产精品久久久一本精品| 亚洲国产精品激情在线观看| 欧美一级片一区| 日韩一区二区久久| 欧美电影免费观看大全| 狠狠色丁香久久婷婷综合_中| 亚洲午夜精品视频| 亚洲黄色天堂| 免费影视亚洲| 一区一区视频| 久久一区激情| 久久精品99国产精品酒店日本| 国产精品九九久久久久久久| 一区二区三区不卡视频在线观看| 麻豆亚洲精品| 久久久99精品免费观看不卡| 国产日韩久久| 久久精品视频播放| 亚洲欧美一区二区在线观看| 国产精品久久7| 午夜精品久久久久久久99热浪潮 | 国产精品久久久久毛片大屁完整版| 亚洲国产99精品国自产| 久久免费视频一区| 欧美在线二区| 韩日在线一区| 女女同性女同一区二区三区91| 久久国产精品色婷婷| 国产亚洲精品激情久久| 国产伦精品免费视频| 亚洲一区二区三区乱码aⅴ| 亚洲精品乱码久久久久久| 欧美激情亚洲国产| 99精品欧美| 中文日韩欧美| 国产欧美精品| 老色批av在线精品| 欧美激情精品| 亚洲影院在线观看| 西瓜成人精品人成网站| 激情久久久久| 亚洲国产另类久久精品| 欧美日韩精品欧美日韩精品一| 亚洲自拍偷拍福利| 欧美自拍偷拍| 亚洲精品美女免费| 一片黄亚洲嫩模| 国产欧美一区二区精品忘忧草| 久久国产精品久久w女人spa| 久久久久久网址| 亚洲欧洲精品一区| av72成人在线| 国内精品视频久久| 欧美激情精品久久久久| 欧美激情在线观看| 性感少妇一区| 欧美电影免费网站| 亚洲欧美日韩国产综合在线| 久久精品一区二区| 在线一区日本视频| 久久久www| 亚洲午夜一区二区| 久久久青草婷婷精品综合日韩 | 蜜桃久久精品一区二区| 一区二区成人精品 | 美女国产精品| 欧美性理论片在线观看片免费| 欧美在线播放视频| 欧美精品v日韩精品v国产精品 | 亚洲网站视频| 亚洲国产成人精品女人久久久| 日韩网站在线观看| 有码中文亚洲精品| 亚洲网站在线观看| 亚洲精品一区二区在线观看| 亚洲欧美三级伦理| 一本一本久久a久久精品综合麻豆| 欧美一区二区精品| 亚洲一区自拍| 欧美乱在线观看| 蜜月aⅴ免费一区二区三区 | 久久久久久久久久久久久女国产乱 | 欧美日韩精品高清| 欧美成人激情视频| 国产偷国产偷精品高清尤物| 日韩视频永久免费| 亚洲日本理论电影| 久久综合色8888| 久久三级福利| 国产日韩av高清| 亚洲在线视频观看| 亚洲自拍偷拍网址| 欧美日韩国产黄| 亚洲成人中文| 在线观看视频欧美| 久久久久久久久蜜桃| 久久免费黄色| 韩国精品在线观看| 久久精品视频导航| 久久午夜精品一区二区| 国产欧美一区二区三区另类精品| 亚洲视频网站在线观看| 亚洲一区欧美二区| 国产精品久久久99| 亚洲一区二区三区免费视频| 亚洲欧美在线网| 国产日韩欧美一区| 久久久亚洲午夜电影| 麻豆视频一区二区| 亚洲国产综合视频在线观看| 欧美护士18xxxxhd| 99热免费精品在线观看| 亚洲在线免费视频| 国产农村妇女精品| 久久国产精品亚洲77777| 免费成人高清| a4yy欧美一区二区三区| 国产精品xxxav免费视频| 亚洲一级片在线观看| 久久久久久久久岛国免费| 在线播放一区| 欧美精品一区三区| 亚洲一区视频在线观看视频| 久久野战av| 中日韩高清电影网| 国产一区二区三区av电影| 久久人人精品| 日韩亚洲欧美在线观看| 欧美一区亚洲一区| 亚洲国产精品久久精品怡红院| 欧美黄色一区二区| 亚洲免费视频中文字幕| 免费高清在线一区| 亚洲视频精品| 精品不卡在线| 欧美日韩视频专区在线播放| 欧美一级日韩一级| 亚洲人成网站在线播| 欧美在线日韩| 亚洲开发第一视频在线播放| 国产精品久久久久婷婷| 麻豆成人在线播放| 亚洲欧美另类在线观看| 欧美激情欧美激情在线五月| 性久久久久久久久| 夜夜嗨av色综合久久久综合网| 国产日韩视频一区二区三区| 亚洲淫片在线视频| 亚洲影院免费观看| 性欧美video另类hd性玩具| 伊人男人综合视频网| 欧美日一区二区在线观看| 久久久伊人欧美| 亚洲永久网站| 亚洲美女网站| 亚洲福利电影| 久久久中精品2020中文| 亚洲综合成人婷婷小说| 亚洲精品在线免费观看视频| 一区二区视频免费在线观看| 国产精品久久一卡二卡| 欧美日韩成人一区二区| 欧美a级大片| 美女黄毛**国产精品啪啪| 久久国产精品第一页|