成人打一炮免费视频,亚洲天堂视频在线观看,97视频久久久,日本japanese护士色高清,五月婷婷丁香,日韩精品一级无码毛片免费,国产欧美日韩精品网红剧情演绎

一種軟件在線調(diào)試方法和系統(tǒng)的制作方法

文檔序號:8223415閱讀:603來源:國知局
一種軟件在線調(diào)試方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及程序調(diào)試領(lǐng)域,尤其涉及一種軟件在線調(diào)試方法和系統(tǒng)。
【背景技術(shù)】
[0002]目前,在軟件開發(fā)以及軟件開發(fā)后的使用過程中,不可避免地會出現(xiàn)各種軟件問題?,F(xiàn)有的用于定位軟件問題的方法包括:運(yùn)行日志、調(diào)試命令、單步追蹤。
[0003]上述方法中,運(yùn)行日志和調(diào)試命令需要將產(chǎn)生日志和調(diào)試信息的調(diào)試指令通過硬編碼的方式預(yù)先寫入軟件程序的相應(yīng)位置。通過硬編碼寫入的調(diào)試指令不易更改和刪除,也因?yàn)橥ㄟ^硬編碼寫入的調(diào)試不易刪除,占用了內(nèi)存,使得在任意軟件位置對軟件錯誤進(jìn)行定位變得不可行。此外,當(dāng)技術(shù)人員通過硬編碼的方式將調(diào)試指令寫入軟件程序的相應(yīng)位置后,還需要對寫入調(diào)試指令的軟件程序重新進(jìn)行調(diào)度、編譯、連接和運(yùn)行,在軟件程序重新運(yùn)行后,原先軟件錯誤的運(yùn)行環(huán)境可能發(fā)生丟失/改變,使軟件錯誤不易復(fù)現(xiàn)。
[0004]上述方法中,單步追蹤為每執(zhí)行完一條語句以后,就會停下來,顯示運(yùn)行情況,這種方法要求技術(shù)人員一直在現(xiàn)場以便對每條語句的運(yùn)行結(jié)果進(jìn)行分析,及時發(fā)現(xiàn)錯誤,并且這種方法更適合單任務(wù)的軟件程序的調(diào)試。而在網(wǎng)絡(luò)設(shè)備的實(shí)時軟件程序中往往同時有幾十個任務(wù)在運(yùn)行、并且任務(wù)之間相互關(guān)聯(lián),單步追蹤已不適應(yīng)。

【發(fā)明內(nèi)容】

[0005]本發(fā)明提供了一種軟件在線調(diào)試方法和系統(tǒng),以解決如何實(shí)現(xiàn)在調(diào)試過程中任意更改調(diào)試指令的問題。
[0006]為解決上述技術(shù)問題,本發(fā)明提供了一種軟件在線調(diào)試方法,所述方法包括:
[0007]確定軟件中的被追蹤點(diǎn);
[0008]當(dāng)執(zhí)行到所述被追蹤點(diǎn)時,保存所述被追蹤點(diǎn)處的軟件當(dāng)前運(yùn)行環(huán)境;
[0009]調(diào)用已存儲的在線調(diào)試指令,執(zhí)行調(diào)試任務(wù),輸出在線調(diào)試信息;
[0010]恢復(fù)所述軟件當(dāng)前運(yùn)行環(huán)境,從所述被追蹤點(diǎn)處繼續(xù)執(zhí)行所述軟件后續(xù)程序。
[0011]可選地,所述確定軟件中的被追蹤點(diǎn)具體包括:
[0012]通過命令行接收用戶輸入的設(shè)置指令,所述設(shè)置指令包括所述軟件中被追蹤點(diǎn)的地址;
[0013]將所述被追蹤點(diǎn)地址處的二進(jìn)制機(jī)器指令反匯編為匯編程序;
[0014]根據(jù)所述匯編程序確定所述被追蹤點(diǎn)的位置。
[0015]可選地,所述當(dāng)執(zhí)行到所述被追蹤點(diǎn)時,保存所述被追蹤點(diǎn)處的軟件當(dāng)前運(yùn)行環(huán)境具體包括:
[0016]當(dāng)執(zhí)行到所述被追蹤點(diǎn)時,根據(jù)在被追蹤點(diǎn)生成的跳轉(zhuǎn)指令,跳轉(zhuǎn)至已存儲在所述軟件中的保護(hù)/恢復(fù)環(huán)境指令;
[0017]執(zhí)行所述保護(hù)/恢復(fù)環(huán)境指令中的保護(hù)環(huán)境指令,保存所述被追蹤點(diǎn)處的軟件當(dāng)前運(yùn)行環(huán)境。
[0018]可選地,所述調(diào)用已存儲的在線調(diào)試指令,執(zhí)行調(diào)試任務(wù),輸出在線調(diào)試信息具體包括:
[0019]執(zhí)行所述保護(hù)/恢復(fù)環(huán)境指令;
[0020]當(dāng)執(zhí)行到所述保護(hù)/恢復(fù)環(huán)境指令中的跳轉(zhuǎn)點(diǎn)時,通過所述跳轉(zhuǎn)點(diǎn),跳轉(zhuǎn)至所述在線調(diào)試指令;
[0021]執(zhí)行所述在線調(diào)試指令,輸出在線調(diào)試信息。
[0022]可選地,所述恢復(fù)所述軟件當(dāng)前運(yùn)行環(huán)境,從所述被追蹤點(diǎn)處繼續(xù)執(zhí)行所述軟件后續(xù)程序具體包括:
[0023]當(dāng)輸出在線調(diào)試信息后,從所述在線調(diào)試指令跳轉(zhuǎn)回所述跳轉(zhuǎn)點(diǎn);
[0024]執(zhí)行所述保護(hù)/恢復(fù)環(huán)境指令中的恢復(fù)環(huán)境指令,并跳轉(zhuǎn)回所述被追蹤點(diǎn),從所述被追蹤點(diǎn)處繼續(xù)執(zhí)行所述軟件后續(xù)程序。
[0025]可選地,所述方法還包括:
[0026]在執(zhí)行調(diào)試任務(wù)的過程中,通過命令行,接收用戶輸入的被追蹤點(diǎn)狀態(tài)查看指令;
[0027]根據(jù)所述查看指令,向所述用戶反饋所述軟件中被追蹤點(diǎn)的狀態(tài)信息,所述被追蹤點(diǎn)的狀態(tài)信息包括以下一種或多種:
[0028]被追蹤點(diǎn)的執(zhí)行時間、當(dāng)前CPU各寄存器的狀態(tài)、當(dāng)前任務(wù)堆棧信息。
[0029]可選地,所述確定軟件中的被追蹤點(diǎn)之后還包括:
[0030]通過命令行,接收用戶輸入的被追蹤點(diǎn)刪除指令,所述被追蹤點(diǎn)刪除指令包括待刪除的所述被追蹤點(diǎn)的位置;
[0031]將待刪除的所述被追蹤點(diǎn)的位置還原為設(shè)置所述被追蹤點(diǎn)之前的二進(jìn)制機(jī)器指令;
[0032]當(dāng)執(zhí)行到原所述被追蹤點(diǎn)的位置時,執(zhí)行所述二進(jìn)制機(jī)器指令。
[0033]為解決上述技術(shù)問題,本發(fā)明還提供了一種軟件在線調(diào)試系統(tǒng),所述系統(tǒng)包括:
[0034]被追蹤點(diǎn)確定模塊,用于確定軟件中的被追蹤點(diǎn);
[0035]程序執(zhí)行模塊,用于在執(zhí)行到所述被追蹤點(diǎn)時,保存所述被追蹤點(diǎn)處的軟件當(dāng)前運(yùn)行環(huán)境;以及在調(diào)試結(jié)束后,恢復(fù)所述軟件當(dāng)前運(yùn)行環(huán)境,從所述被追蹤點(diǎn)處繼續(xù)執(zhí)行所述軟件后續(xù)程序;
[0036]調(diào)試模塊,用于在保存軟件當(dāng)前運(yùn)行環(huán)境后,調(diào)用已存儲的在線調(diào)試指令,執(zhí)行調(diào)試任務(wù),輸出在線調(diào)試信息。
[0037]可選地,所述被追蹤點(diǎn)確定模塊,用于確定軟件中的被追蹤點(diǎn),具體包括:
[0038]通過命令行接收用戶輸入的設(shè)置指令,所述設(shè)置指令包括所述軟件中被追蹤點(diǎn)的地址;
[0039]將所述被追蹤點(diǎn)地址的二進(jìn)制機(jī)器指令反匯編為匯編程序;
[0040]根據(jù)所述匯編程序確定所述被追蹤點(diǎn)的位置。
[0041]可選地,所述程序執(zhí)行模塊,用于在執(zhí)行到所述被追蹤點(diǎn)時,保存所述被追蹤點(diǎn)處的軟件當(dāng)前運(yùn)行環(huán)境,具體包括:
[0042]當(dāng)執(zhí)行到所述被追蹤點(diǎn)時,根據(jù)在被追蹤點(diǎn)生成的跳轉(zhuǎn)指令,跳轉(zhuǎn)至已存儲在所述軟件中的保護(hù)/恢復(fù)環(huán)境指令;
[0043]執(zhí)行所述保護(hù)/恢復(fù)環(huán)境指令中的保護(hù)環(huán)境指令,保存所述被追蹤點(diǎn)處的軟件當(dāng)前運(yùn)行環(huán)境。
[0044]可選地,所述調(diào)試模塊,用于調(diào)用已存儲的在線調(diào)試指令,執(zhí)行調(diào)試任務(wù),輸出在線調(diào)試信息,具體包括:
[0045]執(zhí)行所述保護(hù)/恢復(fù)環(huán)境指令;
[0046]當(dāng)執(zhí)行到所述保護(hù)/恢復(fù)環(huán)境指令中的跳轉(zhuǎn)點(diǎn)時,通過所述跳轉(zhuǎn)點(diǎn),跳轉(zhuǎn)至所述在線調(diào)試指令;
[0047]執(zhí)行所述在線調(diào)試指令,輸出在線調(diào)試信息。
[0048]可選地,所述程序執(zhí)行模塊,用于恢復(fù)所述軟件當(dāng)前運(yùn)行環(huán)境,從所述被追蹤點(diǎn)處繼續(xù)執(zhí)行所述軟件后續(xù)程序,具體包括:
[0049]當(dāng)輸出在線調(diào)試信息后,從所述在線調(diào)試指令跳轉(zhuǎn)回所述跳轉(zhuǎn)點(diǎn);
[0050]執(zhí)行所述保護(hù)/恢復(fù)環(huán)境指令中的恢復(fù)環(huán)境指令,并跳轉(zhuǎn)回所述被追蹤點(diǎn),從所述被追蹤點(diǎn)處繼續(xù)執(zhí)行所述軟件后續(xù)程序。
[0051 ] 可選地,所述系統(tǒng)還包括:
[0052]狀態(tài)查看模塊,用于在調(diào)試任務(wù)執(zhí)行過程中,通過命令行,接收用戶輸入的被追蹤點(diǎn)狀態(tài)查看指令;
[0053]根據(jù)所述查看指令,向所述用戶反饋所述軟件中被追蹤點(diǎn)的狀態(tài)信息,所述被追蹤點(diǎn)的狀態(tài)信息包括以下一種或多種:
[0054]被追蹤點(diǎn)的執(zhí)行時間、當(dāng)前CPU各寄存器的狀態(tài)、當(dāng)前任務(wù)堆棧信息。
[0055]可選地,所述系統(tǒng)還包括:
[0056]被追蹤點(diǎn)刪除模塊,用于通過命令行,接收用戶輸入的被追蹤點(diǎn)刪除指令,所述被追蹤點(diǎn)刪除指令包括待刪除的所述被追蹤點(diǎn)的位置;
[0057]將待刪除的所述被追蹤點(diǎn)的位置還原為設(shè)置所述被追蹤點(diǎn)之前的二進(jìn)制機(jī)器指令;
[0058]當(dāng)執(zhí)行到原所述被追蹤點(diǎn)的位置時,執(zhí)行所述二進(jìn)制機(jī)器指令。
[0059]通過應(yīng)用本發(fā)明提供的一種軟件在線調(diào)試方法和系統(tǒng),在軟件程序運(yùn)行時,動態(tài)設(shè)置被追蹤點(diǎn),通過設(shè)置的被追蹤點(diǎn),保存被追蹤點(diǎn)處的軟件當(dāng)前運(yùn)行環(huán)境;調(diào)用已
當(dāng)前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1