日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

VC,Windbg,gdb执行到指定代码行方法

發(fā)布時(shí)間:2025/3/21 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VC,Windbg,gdb执行到指定代码行方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在調(diào)試的時(shí)候,當(dāng)執(zhí)行到一段代碼時(shí),為了調(diào)試或者其他目的需要,有時(shí)候需要對(duì)一些或者幾行代碼多次執(zhí)行或者跳過(guò)幾行代碼的執(zhí)行,這是很有用的,比如下面的一個(gè)循環(huán):

for(int i=0;i<num;i++) { //do something }

也許num很大,但是我們又想看看前面幾次循環(huán)執(zhí)行的效果,這時(shí)候就需要前面提到的調(diào)試功能了,直接跳出循環(huán),執(zhí)行循環(huán)后面的代碼。當(dāng)然也可以跳到循環(huán)前面的代碼執(zhí)行,下面以對(duì)VC,Windbg和Linux的gdb三個(gè)調(diào)試器分別進(jìn)行說(shuō)明。

1.VC調(diào)試器的方法

VC對(duì)源代碼級(jí)的調(diào)試支持得還是相當(dāng)?shù)暮?#xff0c;特別是應(yīng)用層代碼的調(diào)試,而且執(zhí)行到指定代碼行的功能也是相當(dāng)?shù)暮?jiǎn)單,如下圖所示。


將鼠標(biāo)放在當(dāng)前執(zhí)行的代碼行位置,這時(shí)會(huì)看到提示,說(shuō)可以拖動(dòng)箭頭到想執(zhí)行的代碼行位置,然后就可以繼續(xù)執(zhí)行了。

2.Windbg方法

windbg可以用兩種方法來(lái)達(dá)到這個(gè)目的。

第一種方法,如下圖所示。


將焦點(diǎn)定位到你想執(zhí)行的代碼行,然后選擇Edit菜單,選擇“Set Current Instruction”子菜單即可,效果和VC一樣。

第二種方法要麻煩一些,如下圖所示。


可以通過(guò)修改eip的地址來(lái)達(dá)到執(zhí)行指定代碼行的功能,對(duì)x64位系統(tǒng)來(lái)講,程序指針寄存器是rip,32位是eip,可以先執(zhí)行r命令,查看寄存器的狀態(tài),如上圖所示。然后切換到匯編模式,查看你想執(zhí)行的那一行代碼的地址,然后執(zhí)行r rip=address命令來(lái)達(dá)到相同效果。

3.Linux gdb

gdb的功能很強(qiáng)大,要達(dá)到這個(gè)效果也很簡(jiǎn)單,如下圖所示。

執(zhí)行jump命令即可,如上圖所示,想要到16行去執(zhí)行,執(zhí)行jump 16就可以了。

總結(jié)

以上是生活随笔為你收集整理的VC,Windbg,gdb执行到指定代码行方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。