日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > php教程 > 反匯編調(diào)試死循環(huán)

反匯編調(diào)試死循環(huán)

來源:程序員人生   發(fā)布時間:2015-01-15 08:29:47 閱讀次數(shù):2947次

在 《C圈套與缺點(diǎn)》中,出現(xiàn)以下的代碼:

#include <stdio.h> int main(int argc, char *argv[]) { int i = 0; int a[10]; for(i=0; i<=10; ++i) { a[i] = 0; // 死循環(huán) } return 0; }

作者的解釋是:如果用來編譯這段程序的編譯器依照內(nèi)存地址遞減的方式來給變量分配內(nèi)存,那末最后將賦值給變量 i ,墮入死循環(huán)。


將程序在VC6.0 運(yùn)行,查看反匯編代碼:



從結(jié)果中,可知內(nèi)存的分配結(jié)果是依照地址遞減的方式給變量分配內(nèi)存的:



結(jié)果中,a[i] = 0 的反匯編代碼是  mov  dword ptr [ebp+ecx*4⑵Ch], 0

其中 ecx 是 i 的數(shù)值,ebp - 2CH  = ebp - 44, 實(shí)際上就是 a[0] 的位置, i 占4個字節(jié),a[10]占40個字節(jié), 共44個字節(jié)。

mov  dword ptr [ebp+ecx*4⑵Ch], 0 也即是 mov  dword ptr [ebp⑵Ch+ecx*4], 0  

就是在a[0] 的地址上,每次加上 i 個單位的整數(shù)地址(4個字節(jié))

當(dāng)最后1個數(shù)值 i = 10 的時候, 變成了 mov dword ptr [ebp - 4], 0, 實(shí)際上就是給 i 賦值,這條語句就是第1個斷點(diǎn)位置的反匯編代碼,自然的,i 又被重新賦值為0, 墮入了死循環(huán)。


這是自己第1次使用反匯編來調(diào)試程序,簡單記錄 。


生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 精品99久久久久久 | 亚洲国产视频一区二区 | 日韩在线不卡视频 | 精久久| 99re8在线精品视频免费播放 | 久久桃色 | 天天操,狠狠操 | 欧美成人a交片免费看 | 美女视频黄的 | 国产一区二区三区免费观看网站上 | 中文精品在线 | 黄色免费网站. | 成人欧美一区二区 | 91超碰在线免费观看 | 日本欧美久久久 | 免费av高清| 黄色一级片在线看 | 高清国产一区二区三区四区五区 | 国产人成精品一区二区三 | 91久久久久 | 99久久国产综合精品女不卡 | 久9re热视频这里只有精品 | 精品一区二区三区免费视频 | 日韩精品久久 | 亚洲欧美日韩综合 | 欧美淫视频 | 久久噜噜噜精品国产亚洲综合 | 亚洲日韩视频 | 黄色一级大片在线免费看产 | 狠狠干香蕉 | 国产精品久久久久久久免费软件 | 国产精品国产三级国产普通话三级 | 91精品久久久久久久久青青 | 操人视频免费 | a在线免费 | 岛国av一区二区 | 精品视频99 | 日韩精品中文字幕一区二区 | 国产黄色免费网站 | 国产高清免费视频 | 国产精久久久 |