两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

  • 歡迎訪問C語言網(wǎng)www.sztianhecheng.cn 比賽欄每月有獎月賽!舉辦比賽聯(lián)系QQ:2045302297
  • 問題反饋、粉絲交流 QQ群327452739 藍(lán)橋杯訓(xùn)練群:113766799 申請群時請備注排名里的昵稱
  • C語言研究中心 為您提供有圖、有料、解渴的C語言專題! 歡迎討論!

VC6斷點調(diào)試之窗口監(jiān)視(內(nèi)存監(jiān)視、寄存器和?;厮荩?第五篇>

C語言研究中心 CTO 20656次瀏覽 3個評論

在前幾講中,在講解了斷點的基本用法后,給大家介紹了簡單的關(guān)于變量監(jiān)視的技術(shù),包括運行中的局部變量監(jiān)視,也打開了編譯器監(jiān)視的一小扇門,今天將為大家講解更全面的窗口監(jiān)視。如下:

1.內(nèi)存監(jiān)視

除了我們之前講的可以監(jiān)視程序中的局部變量以外,我們還可以監(jiān)視其他想要的信息,比如數(shù)組中某一元素的值,特定地址處的值等等。比如我們在學(xué)習(xí)字符串函數(shù)strcoy時,很多同學(xué)不明白函數(shù)的的”覆蓋”效果,我們則可以通過內(nèi)存監(jiān)視來詳細(xì)查看,例如程序:

#include<stdio.h>

int main()

{

char str1[100] = "www.sztianhecheng.cn";

char str2[100] = "C language";

strcpy(str1,str2);

puts(str1);

return 0;

}

我們想查看strcpy函數(shù)過后str1數(shù)組中的值,而puts僅僅會顯示覆蓋后的,如果我們想看后面沒有輸出的字符,那么最好就要內(nèi)存監(jiān)視了,方法如下:
在puts函數(shù)處設(shè)斷點,運行程序,如下:

VC6斷點調(diào)試之窗口監(jiān)視(內(nèi)存監(jiān)視、寄存器和?;厮荩?第五篇>

我們可以在右下方處輸入我們想要看的數(shù)組元素來查看未輸出的那部分元素內(nèi)容,如圖:

VC6斷點調(diào)試之窗口監(jiān)視(內(nèi)存監(jiān)視、寄存器和棧回溯)<第五篇>

也可以在內(nèi)存監(jiān)視框里,輸入str1來查看str1數(shù)組在內(nèi)存中的存儲情況,如下圖:

VC6斷點調(diào)試之窗口監(jiān)視(內(nèi)存監(jiān)視、寄存器和?;厮荩?第五篇>

可以看到str1里的各字節(jié)處內(nèi)容為何物,重要的是我們知道str1的真實內(nèi)容為“C language.com”。

這下,是不是心里更有數(shù)了呢?

2.寄存器監(jiān)視

寄存器的呼出窗口是View ?– ?Debug Windows ?– ?Registers?? 快捷鍵是Alt+5,我們可以通過這個窗口查看寄存器的數(shù)值變化情況,也可以結(jié)合匯編代碼對比查詢。

例如一個累加求和程序,通過斷點監(jiān)視寄存器觀察如下:

VC6斷點調(diào)試之窗口監(jiān)視(內(nèi)存監(jiān)視、寄存器和?;厮荩?第五篇>

可以看到變量i和sum在分別存放于EAX和ECX兩個通用寄存器中。對于逆向?qū)W習(xí)也是很好的工具哦,方法是View – Debug Windows – Disassembly 對應(yīng)快捷鍵Alt+8可以呼出反匯編代碼,如下:

VC6斷點調(diào)試之窗口監(jiān)視(內(nèi)存監(jiān)視、寄存器和?;厮荩?第五篇>

怎么樣,方便吧

 

3.?;厮?/span>

我們在學(xué)習(xí)函數(shù)調(diào)用,以及C程序的真正入口 函數(shù)時就可以利用VC6編譯器提供的?;厮莨δ埽瑏聿榭春瘮?shù)調(diào)用過程,方法是在調(diào)試環(huán)境下選擇View – Debug Windows – Call Stack 快捷鍵Alt+7例如我們寫一個例子程序,可以嘗試此功能:

VC6斷點調(diào)試之窗口監(jiān)視(內(nèi)存監(jiān)視、寄存器和?;厮荩?第五篇>

可以看到add函數(shù)之前是main函數(shù)調(diào)用,再之前…? …

 

怎么樣,看到這幾個功能,是不是對VC6的掌握更深了呢?

建議親自上機實驗,有問題隨時留言!

 

C語言研究中心(www.sztianhecheng.cn)

C語言網(wǎng)提供「C語言、C++、算法競賽」在線課程,全部由資深研發(fā)工程師或ACM金牌大佬親授課,更科學(xué)、全面的課程體系,以在線視頻+在線評測的學(xué)習(xí)模式學(xué)習(xí),學(xué)練同步,拒絕理論派,真正學(xué)會編程!還有獎學(xué)金等增值福利等你!

C語言網(wǎng), 版權(quán)所有丨如未注明 , 均為原創(chuàng)丨本網(wǎng)站采用BY-NC-SA協(xié)議進(jìn)行授權(quán) , 轉(zhuǎn)載請注明VC6斷點調(diào)試之窗口監(jiān)視(內(nèi)存監(jiān)視、寄存器和?;厮荩?第五篇>!
喜歡 (36)
[jinyangH@aliyun.com]
分享 (0)
發(fā)表我的評論
取消評論
表情

Hi,您需要填寫昵稱和郵箱!

  • 昵稱 (必填)
  • 郵箱 (必填)
(3)個小伙伴在吐槽
  1. 請問,我是用VS6.0進(jìn)入反匯編代碼界面時候只有反匯編代碼沒有源代碼,無法進(jìn)行參照,請問怎么解決
    紅蓮2020-07-16 13:34 回復(fù)
  2. 查到了,右鍵點擊反匯編界面后點source annoation
    紅蓮2020-07-16 13:36 回復(fù)
  3. 特別棒
    Jerry2021-08-09 15:50 回復(fù)