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

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.¢% 閱讀(1741) 評論(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>
            亚洲国产精品成人精品| 中文在线一区| 欧美韩日一区| 午夜一级在线看亚洲| 欧美激情综合色综合啪啪| 国产一区二区三区高清播放| 一区二区不卡在线视频 午夜欧美不卡在 | 欧美母乳在线| 亚洲成色www8888| 久久九九久久九九| 亚洲自啪免费| 国产毛片一区| 亚洲欧美日韩在线一区| 99v久久综合狠狠综合久久| 欧美黄色aa电影| 亚洲电影av| 亚洲二区视频| 欧美高清在线一区| 影音先锋日韩资源| 欧美成人午夜影院| 久久午夜电影| 亚洲麻豆av| 亚洲精品在线免费观看视频| 欧美日韩国产专区| 一本久道综合久久精品| 亚洲免费电影在线观看| 欧美网站在线| 欧美一二三区精品| 久久久www| 久久综合免费视频影院| 久久gogo国模裸体人体| 亚洲精品国产精品乱码不99| 亚洲免费福利视频| 国产精品视频自拍| 亚洲第一页在线| 国产精品嫩草99av在线| 久久久久综合网| 欧美日韩免费观看一区二区三区| 亚洲国产另类 国产精品国产免费| 另类图片综合电影| 欧美成人在线免费观看| 亚洲看片免费| 一本在线高清不卡dvd| 国产精品嫩草影院av蜜臀| 久久精品一区二区三区中文字幕 | 日韩一级黄色片| 99日韩精品| 国产偷国产偷精品高清尤物| 老司机成人网| 欧美日本免费| 久久国产精品久久精品国产| 毛片基地黄久久久久久天堂| 亚洲午夜久久久久久久久电影网| 亚洲女爱视频在线| 亚洲国产成人av好男人在线观看| 亚洲乱码久久| 在线播放国产一区中文字幕剧情欧美| 亚洲高清在线观看一区| 国产精品日韩在线观看| 欧美成人亚洲成人| 国产精品丝袜久久久久久app| 裸体素人女欧美日韩| 欧美三区美女| 欧美刺激性大交免费视频| 国产精品福利网| 亚洲欧美日韩精品| 美女啪啪无遮挡免费久久网站| 亚洲视频第一页| 久久午夜激情| 久久精品国产一区二区三区| 欧美黄色精品| 久久这里只精品最新地址| 国产精品久久久久久久久免费| 欧美成人一品| 一区二区视频在线观看| 性久久久久久| 性娇小13――14欧美| 欧美久久视频| 亚洲成人自拍视频| 狠狠综合久久av一区二区小说| 亚洲尤物在线视频观看| 洋洋av久久久久久久一区| 另类av一区二区| 久久久夜色精品亚洲| 国产精品素人视频| 一本色道久久88亚洲综合88| 欧美日韩日本国产亚洲在线| 欧美一区二区精品| 欧美经典一区二区| 免费欧美视频| 国产自产在线视频一区| 亚洲一区欧美二区| 亚洲天堂成人在线观看| 欧美韩日一区| 亚洲黄色在线视频| 亚洲日本欧美日韩高观看| 久久精品日产第一区二区三区| 小黄鸭精品密入口导航| 国产精品蜜臀在线观看| 一区二区精品国产| 亚洲午夜三级在线| 欧美性理论片在线观看片免费| 亚洲精品系列| 亚洲午夜在线观看| 欧美婷婷在线| 亚洲天堂偷拍| 欧美一级片久久久久久久| 国产精品毛片va一区二区三区| 在线一区欧美| 性做久久久久久久免费看| 国产精品每日更新| 亚洲影音先锋| 久久精品五月婷婷| 在线成人中文字幕| 欧美成人免费小视频| 亚洲国产免费看| 一区二区三区日韩在线观看| 欧美视频精品在线| 亚洲欧美日韩精品久久久久| 久久手机免费观看| 亚洲高清不卡av| 欧美搞黄网站| 中文成人激情娱乐网| 久久精品国产精品亚洲综合| 在线观看成人网| 欧美激情国产精品| 欧美大片在线观看| 亚洲天堂av在线免费观看| 国产美女扒开尿口久久久| 久久天堂成人| 一区二区三欧美| 久久资源在线| 亚洲午夜视频在线观看| 国模套图日韩精品一区二区| 欧美成人伊人久久综合网| 亚洲欧美国产视频| 亚洲国产另类 国产精品国产免费| 亚洲在线不卡| 亚洲黄色大片| 国产模特精品视频久久久久| 欧美成人免费网站| 久久成人免费网| 日韩一区二区精品| 免费看av成人| 欧美在线免费观看视频| 99riav国产精品| 国内一区二区三区在线视频| 欧美日韩另类国产亚洲欧美一级| 欧美一区成人| 亚洲无限av看| 亚洲欧洲日韩女同| 久久乐国产精品| 午夜国产精品视频| 一区二区三区四区五区精品| 在线欧美福利| 国产区精品视频| 欧美午夜电影在线| 亚洲精品黄色| 艳女tv在线观看国产一区| 国产小视频国产精品| 欧美日韩国产丝袜另类| 毛片一区二区| 久久精品视频亚洲| 欧美一区中文字幕| 亚洲欧美日本在线| 亚洲午夜精品17c| 一区二区三区导航| 亚洲人久久久| 亚洲国产一区二区a毛片| 欧美14一18处毛片| 蜜桃久久精品乱码一区二区| 久久精品视频一| 久久精品国产亚洲aⅴ| 性欧美暴力猛交69hd| 亚洲欧美日韩直播| 午夜精品偷拍| 香蕉久久夜色| 小辣椒精品导航| 欧美一区二区三区免费大片| 亚洲一区精品视频| 亚洲伊人伊色伊影伊综合网| 亚洲午夜在线观看| 亚洲欧美另类国产| 亚洲欧美国产不卡| 欧美一级二级三级蜜桃| 久久精品国产69国产精品亚洲| 久久国产一区二区| 久久免费少妇高潮久久精品99| 久久视频精品在线| 欧美aaa级| 亚洲精品国产拍免费91在线| 日韩一区二区福利| 亚洲一区二区视频在线观看| 亚洲欧美日韩国产一区| 欧美在线啊v| 久久久噜噜噜久久中文字幕色伊伊| 久久免费视频这里只有精品| 麻豆国产精品777777在线 | 国内不卡一区二区三区| 在线观看欧美精品|