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

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.¢% 閱讀(1734) 評論(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>
            香蕉乱码成人久久天堂爱免费| 久久国产精品色婷婷| 久久视频在线免费观看| 午夜国产精品视频| 国模私拍视频一区| 欧美黄色aa电影| 欧美极品色图| 亚洲欧美中文字幕| 久久久久成人网| 日韩一级免费观看| 亚洲视频自拍偷拍| 狠狠色综合网站久久久久久久| 美女任你摸久久| 欧美日韩一级大片网址| 久久久久久**毛片大全| 欧美成人午夜影院| 午夜免费久久久久| 浪潮色综合久久天堂| 亚洲在线播放| 久久一区免费| 午夜久久黄色| 欧美a级一区| 欧美一区三区三区高中清蜜桃| 久久蜜桃香蕉精品一区二区三区| 亚洲美女在线观看| 久久国产天堂福利天堂| 亚洲一区视频在线| 欧美ed2k| 久久久亚洲午夜电影| 欧美色中文字幕| 欧美国产国产综合| 国产亚洲人成网站在线观看| 亚洲三级电影在线观看| 国产主播一区二区| 一本色道久久99精品综合 | 欧美一区二区视频免费观看| 亚洲国语精品自产拍在线观看| 亚洲一区二区三区免费在线观看| 亚洲精品少妇| 久久网站热最新地址| 欧美伊人久久| 欧美午夜精品久久久久久人妖| 免费欧美网站| 国内精品伊人久久久久av影院 | 国产精品美女在线观看| 亚洲二区在线| 伊大人香蕉综合8在线视| 亚洲午夜视频在线| 一区二区三区黄色| 欧美精品v日韩精品v国产精品| 久久亚洲综合网| 国产亚洲一区二区精品| 亚洲一区二区三区四区视频| 一本色道久久精品| 欧美精品在线一区二区| 亚洲大胆人体在线| 亚洲国产精品专区久久| 久色婷婷小香蕉久久| 免费不卡视频| 亚洲福利久久| 久久综合久久88| 欧美丰满高潮xxxx喷水动漫| 亚洲高清视频一区| 免费视频一区| 最新国产の精品合集bt伙计| 亚洲精选一区| 欧美另类一区| 91久久久久久| 亚洲一区二区三区高清 | 亚洲免费网站| 久久国产精品毛片| 国产视频在线观看一区二区三区 | 美女爽到呻吟久久久久| 亚洲第一天堂av| 日韩一二三区视频| 国产精品激情| 久久成人亚洲| 欧美国内亚洲| 亚洲先锋成人| 国产亚洲午夜高清国产拍精品| 久久精品欧美日韩| 亚洲国产另类久久精品| 宅男精品视频| 国产麻豆日韩| 欧美va天堂va视频va在线| 日韩视频在线观看一区二区| 先锋影音一区二区三区| 国产专区欧美精品| 欧美黄色aaaa| 亚洲欧美日韩天堂| 欧美激情精品久久久久久大尺度 | 美日韩精品视频| 一本色道久久| 国产一区深夜福利| 欧美国产视频一区二区| 亚洲欧美另类在线| 亚洲国产欧美在线| 小嫩嫩精品导航| 亚洲精品久久视频| 国产美女在线精品免费观看| 免费视频最近日韩| 亚洲欧美在线一区二区| 亚洲国产精品久久久久秋霞影院 | 亚洲黄色一区| 欧美一区三区三区高中清蜜桃| 亚洲人成网站影音先锋播放| 久久www成人_看片免费不卡| 亚洲国产欧美一区二区三区丁香婷| 亚洲视频欧洲视频| 国产主播一区二区三区| 欧美日韩亚洲一区二区| 久久视频一区二区| 亚洲欧美制服另类日韩| 亚洲人成人一区二区在线观看| 久久精品91久久久久久再现| 一本色道久久综合狠狠躁篇怎么玩| 国产综合网站| 国产欧美日韩亚洲| 欧美日韩另类综合| 久久一日本道色综合久久| 性色一区二区| 亚洲免费人成在线视频观看| 亚洲精品国产系列| 欧美激情女人20p| 免费国产一区二区| 久久久久久夜精品精品免费| 欧美亚洲一级| 欧美一区2区视频在线观看| 一区二区三区视频在线看| 亚洲欧洲在线看| 亚洲国产精品久久久久秋霞不卡| 国产一区自拍视频| 国产精品影音先锋| 国产九色精品成人porny| 国产精品分类| 国产精品亚洲а∨天堂免在线| 欧美吻胸吃奶大尺度电影| 欧美人与性动交α欧美精品济南到| 蜜桃伊人久久| 欧美成人综合网站| 欧美激情免费观看| 欧美极品影院| 欧美性做爰毛片| 国产精品一级在线| 国产亚洲精品bt天堂精选| 国产亚洲综合性久久久影院| 国产一区二区三区久久久| 韩日欧美一区| 亚洲国产精品综合| 一本大道久久a久久精品综合| 在线亚洲自拍| 欧美一级在线播放| 久久伊人精品天天| 欧美韩国一区| 日韩一级欧洲| 性欧美xxxx大乳国产app| 久久久久久久精| 欧美国产免费| 国产精品永久| 亚洲激情在线激情| 亚洲一区二区三区精品视频| 久久av一区二区三区| 久久综合中文| 日韩亚洲欧美中文三级| 亚洲欧美电影院| 久久天堂成人| 欧美色123| 在线观看91精品国产入口| 99这里只有久久精品视频| 亚洲欧美日韩一区二区| 久久亚洲综合| 宅男噜噜噜66一区二区| 久久精品国产精品亚洲综合| 欧美区日韩区| 激情综合色综合久久综合| av不卡在线观看| 久久成人精品电影| 亚洲破处大片| 久久精品国产视频| 欧美日一区二区在线观看| 国内精品久久久久久久影视麻豆| 日韩午夜在线播放| 久久精品一区蜜桃臀影院| 亚洲精品一区二区三区蜜桃久| 欧美制服丝袜| 国产精品草草| 亚洲看片免费| 久久一区二区三区四区五区| 国产精品99久久久久久宅男| 另类av一区二区| 久久久精品免费视频| 国产精品护士白丝一区av| 亚洲欧洲一区二区在线播放| 久久精品国产精品| 在线一区欧美| 欧美成人精品影院| 在线精品国产成人综合| 久久久久中文| 亚洲欧美日韩第一区 | 久久精品人人爽|