特黄特色三级在线观看免费,看黄色片子免费,色综合久,欧美在线视频看看,高潮胡言乱语对白刺激国产,伊人网成人,中文字幕亚洲一碰就硬老熟妇

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 電腦硬件知識(shí) > 內(nèi)存知識(shí) > vs2010查看內(nèi)存的方法

vs2010查看內(nèi)存的方法

時(shí)間: 樂(lè)恒1051 分享

vs2010查看內(nèi)存的方法

  在vs2010中查看內(nèi)存,可以使用手動(dòng)的方式打開(kāi)設(shè)置調(diào)整。為此學(xué)習(xí)啦小編為大家整理推薦了,希望大家喜歡。

  vs2010 查看內(nèi)存

  一、查看內(nèi)存

  查看內(nèi)存是使用VS2010進(jìn)行編碼的一個(gè)非?;镜募寄芰?,快速而準(zhǔn)確地查看內(nèi)存,可以幫助你準(zhǔn)確分析代碼中各變量的取值,以及存儲(chǔ)狀態(tài),幫助你發(fā)現(xiàn)程序中的BUG,改進(jìn)代碼的健壯性。

  如何查看內(nèi)存?繼續(xù)采用以上的例程進(jìn)行說(shuō)明,將程序F5到第13行,再單步到下一句

  圖3

  按下ALT+6,此時(shí)我們可以看到內(nèi)存1的窗口,我們從自動(dòng)窗口中先找到指針p的地址,然后將地址復(fù)制到內(nèi)存地址欄中,回車(chē),即可看到此時(shí)地址中的值。內(nèi)存窗口中左邊的灰色值代表地址,右邊則表示地址中存儲(chǔ)的值。我們可以看到p地址對(duì)應(yīng)的值為03,但后面還有000000跟著,其實(shí)因?yàn)槲覀兇鎯?chǔ)的是一個(gè)整數(shù)值,需要4個(gè)字節(jié)存儲(chǔ),因此就算P中結(jié)果是3,也同樣占用了4個(gè)字節(jié)。

  二、查看寄存器

  通常來(lái)說(shuō),在進(jìn)行C或C++編程的時(shí)候,對(duì)于寄存器的查看還是不常用。但如果你在進(jìn)行匯編代碼編程,那么學(xué)會(huì)查看相關(guān)寄存器便顯得非常重要,你可以從相關(guān)寄存器的值來(lái)確定各參數(shù)值是否有誤,從而幫你快速檢查代碼。

  如何查看寄存器?本文采用一個(gè)非常簡(jiǎn)單的程序進(jìn)行演示,如下圖1所示

  圖1

  按下F5,全速運(yùn)行到第12行處,此行代碼顯示的是調(diào)用一個(gè)進(jìn)行簡(jiǎn)單加法的運(yùn)算。

  這里需要提及的是C/C++的函數(shù)調(diào)用約定,這是一個(gè)非常重要的概念,不懂的人一定要上網(wǎng)查看下win32下函數(shù)調(diào)用約定是什么意思,C/C++默認(rèn)的調(diào)用約定是__cdecl,這種調(diào)用約定的其中一條是關(guān)于函數(shù)如何傳參以及堆棧如何處理的問(wèn)題,回到我們的例程,我們按下ALT+8進(jìn)入反匯編,如下圖2所示

  圖2

  從上圖我們可以看到,進(jìn)入?yún)R編代碼后,我們按下ALT+5(也可到調(diào)試->窗口中看到),就可以看到寄存器窗口了,單步調(diào)試我們可以看到,程序首先將b送到寄存器EAX中,因此我們看到EAX的值變?yōu)?,然后把eax即b值壓入堆棧中,同理,再把b送到ECX并壓入堆棧(__cdecl調(diào)用約定規(guī)定傳參從右至左依次壓入堆棧),最后調(diào)用add函數(shù),至于如何進(jìn)入add調(diào)用下次再講。這里我們就學(xué)會(huì)了查看寄存器了,至于其他寄存器變量分別代表什么意思,希望讀者自己查閱相關(guān)資料,此處略去。

  這里還需要注意的一個(gè)概念是,大端法存儲(chǔ)和小端法存儲(chǔ)的概念?;氐缴厦鎴D中我們可以看出,內(nèi)存地址從左至右,從上至下是依次增大的。我們這個(gè)值3其實(shí)正確的讀法應(yīng)該是從右至左讀取的,即0x00000003,03是在最低位,而03也是存儲(chǔ)在內(nèi)存地址中的低地址中的,因此這是小端法存儲(chǔ),大端法則剛好相反。需要了解這方面更多信息的人,一定要上網(wǎng)查找更多資料多學(xué)習(xí),本文就不再詳述。

2941287