欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

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

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

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

[0005]本發(fā)明提供了一種軟件在線(xiàn)調(diào)試方法和系統(tǒng),以解決如何實(shí)現(xiàn)在調(diào)試過(guò)程中任意更改調(diào)試指令的問(wèn)題。
[0006]為解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種軟件在線(xiàn)調(diào)試方法,所述方法包括:
[0007]確定軟件中的被追蹤點(diǎn);
[0008]當(dāng)執(zhí)行到所述被追蹤點(diǎn)時(shí),保存所述被追蹤點(diǎn)處的軟件當(dāng)前運(yùn)行環(huán)境;
[0009]調(diào)用已存儲(chǔ)的在線(xiàn)調(diào)試指令,執(zhí)行調(diào)試任務(wù),輸出在線(xiàn)調(diào)試信息;
[0010]恢復(fù)所述軟件當(dāng)前運(yùn)行環(huán)境,從所述被追蹤點(diǎn)處繼續(xù)執(zhí)行所述軟件后續(xù)程序。
[0011]可選地,所述確定軟件中的被追蹤點(diǎn)具體包括:
[0012]通過(guò)命令行接收用戶(hù)輸入的設(shè)置指令,所述設(shè)置指令包括所述軟件中被追蹤點(diǎn)的地址;
[0013]將所述被追蹤點(diǎn)地址處的二進(jìn)制機(jī)器指令反匯編為匯編程序;
[0014]根據(jù)所述匯編程序確定所述被追蹤點(diǎn)的位置。
[0015]可選地,所述當(dāng)執(zhí)行到所述被追蹤點(diǎn)時(shí),保存所述被追蹤點(diǎn)處的軟件當(dāng)前運(yùn)行環(huán)境具體包括:
[0016]當(dāng)執(zhí)行到所述被追蹤點(diǎn)時(shí),根據(jù)在被追蹤點(diǎn)生成的跳轉(zhuǎn)指令,跳轉(zhuǎn)至已存儲(chǔ)在所述軟件中的保護(hù)/恢復(fù)環(huán)境指令;
[0017]執(zhí)行所述保護(hù)/恢復(fù)環(huán)境指令中的保護(hù)環(huán)境指令,保存所述被追蹤點(diǎn)處的軟件當(dāng)前運(yùn)行環(huán)境。
[0018]可選地,所述調(diào)用已存儲(chǔ)的在線(xiàn)調(diào)試指令,執(zhí)行調(diào)試任務(wù),輸出在線(xiàn)調(diào)試信息具體包括:
[0019]執(zhí)行所述保護(hù)/恢復(fù)環(huán)境指令;
[0020]當(dāng)執(zhí)行到所述保護(hù)/恢復(fù)環(huán)境指令中的跳轉(zhuǎn)點(diǎn)時(shí),通過(guò)所述跳轉(zhuǎn)點(diǎn),跳轉(zhuǎn)至所述在線(xiàn)調(diào)試指令;
[0021]執(zhí)行所述在線(xiàn)調(diào)試指令,輸出在線(xiàn)調(diào)試信息。
[0022]可選地,所述恢復(fù)所述軟件當(dāng)前運(yùn)行環(huán)境,從所述被追蹤點(diǎn)處繼續(xù)執(zhí)行所述軟件后續(xù)程序具體包括:
[0023]當(dāng)輸出在線(xiàn)調(diào)試信息后,從所述在線(xiàn)調(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ù)的過(guò)程中,通過(guò)命令行,接收用戶(hù)輸入的被追蹤點(diǎn)狀態(tài)查看指令;
[0027]根據(jù)所述查看指令,向所述用戶(hù)反饋所述軟件中被追蹤點(diǎn)的狀態(tài)信息,所述被追蹤點(diǎn)的狀態(tài)信息包括以下一種或多種:
[0028]被追蹤點(diǎn)的執(zhí)行時(shí)間、當(dāng)前CPU各寄存器的狀態(tài)、當(dāng)前任務(wù)堆棧信息。
[0029]可選地,所述確定軟件中的被追蹤點(diǎn)之后還包括:
[0030]通過(guò)命令行,接收用戶(hù)輸入的被追蹤點(diǎn)刪除指令,所述被追蹤點(diǎn)刪除指令包括待刪除的所述被追蹤點(diǎn)的位置;
[0031]將待刪除的所述被追蹤點(diǎn)的位置還原為設(shè)置所述被追蹤點(diǎn)之前的二進(jìn)制機(jī)器指令;
[0032]當(dāng)執(zhí)行到原所述被追蹤點(diǎn)的位置時(shí),執(zhí)行所述二進(jìn)制機(jī)器指令。
[0033]為解決上述技術(shù)問(wèn)題,本發(fā)明還提供了一種軟件在線(xiàn)調(diào)試系統(tǒng),所述系統(tǒng)包括:
[0034]被追蹤點(diǎn)確定模塊,用于確定軟件中的被追蹤點(diǎn);
[0035]程序執(zhí)行模塊,用于在執(zhí)行到所述被追蹤點(diǎn)時(shí),保存所述被追蹤點(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)用已存儲(chǔ)的在線(xiàn)調(diào)試指令,執(zhí)行調(diào)試任務(wù),輸出在線(xiàn)調(diào)試信息。
[0037]可選地,所述被追蹤點(diǎn)確定模塊,用于確定軟件中的被追蹤點(diǎn),具體包括:
[0038]通過(guò)命令行接收用戶(hù)輸入的設(shè)置指令,所述設(shè)置指令包括所述軟件中被追蹤點(diǎn)的地址;
[0039]將所述被追蹤點(diǎn)地址的二進(jìn)制機(jī)器指令反匯編為匯編程序;
[0040]根據(jù)所述匯編程序確定所述被追蹤點(diǎn)的位置。
[0041]可選地,所述程序執(zhí)行模塊,用于在執(zhí)行到所述被追蹤點(diǎn)時(shí),保存所述被追蹤點(diǎn)處的軟件當(dāng)前運(yùn)行環(huán)境,具體包括:
[0042]當(dāng)執(zhí)行到所述被追蹤點(diǎn)時(shí),根據(jù)在被追蹤點(diǎn)生成的跳轉(zhuǎn)指令,跳轉(zhuǎn)至已存儲(chǔ)在所述軟件中的保護(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)用已存儲(chǔ)的在線(xiàn)調(diào)試指令,執(zhí)行調(diào)試任務(wù),輸出在線(xiàn)調(diào)試信息,具體包括:
[0045]執(zhí)行所述保護(hù)/恢復(fù)環(huán)境指令;
[0046]當(dāng)執(zhí)行到所述保護(hù)/恢復(fù)環(huán)境指令中的跳轉(zhuǎn)點(diǎn)時(shí),通過(guò)所述跳轉(zhuǎn)點(diǎn),跳轉(zhuǎn)至所述在線(xiàn)調(diào)試指令;
[0047]執(zhí)行所述在線(xiàn)調(diào)試指令,輸出在線(xiàn)調(diào)試信息。
[0048]可選地,所述程序執(zhí)行模塊,用于恢復(fù)所述軟件當(dāng)前運(yùn)行環(huán)境,從所述被追蹤點(diǎn)處繼續(xù)執(zhí)行所述軟件后續(xù)程序,具體包括:
[0049]當(dāng)輸出在線(xiàn)調(diào)試信息后,從所述在線(xiàn)調(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í)行過(guò)程中,通過(guò)命令行,接收用戶(hù)輸入的被追蹤點(diǎn)狀態(tài)查看指令;
[0053]根據(jù)所述查看指令,向所述用戶(hù)反饋所述軟件中被追蹤點(diǎn)的狀態(tài)信息,所述被追蹤點(diǎn)的狀態(tài)信息包括以下一種或多種:
[0054]被追蹤點(diǎn)的執(zhí)行時(shí)間、當(dāng)前CPU各寄存器的狀態(tài)、當(dāng)前任務(wù)堆棧信息。
[0055]可選地,所述系統(tǒng)還包括:
[0056]被追蹤點(diǎn)刪除模塊,用于通過(guò)命令行,接收用戶(hù)輸入的被追蹤點(diǎn)刪除指令,所述被追蹤點(diǎn)刪除指令包括待刪除的所述被追蹤點(diǎn)的位置;
[0057]將待刪除的所述被追蹤點(diǎn)的位置還原為設(shè)置所述被追蹤點(diǎn)之前的二進(jìn)制機(jī)器指令;
[0058]當(dāng)執(zhí)行到原所述被追蹤點(diǎn)的位置時(shí),執(zhí)行所述二進(jìn)制機(jī)器指令。
[0059]通過(guò)應(yīng)用本發(fā)明提供的一種軟件在線(xiàn)調(diào)試方法和系統(tǒng),在軟件程序運(yùn)行時(shí),動(dòng)態(tài)設(shè)置被追蹤點(diǎn),通過(guò)設(shè)置的被追蹤點(diǎn),保存被追蹤點(diǎn)處的軟件當(dāng)前運(yùn)行環(huán)境;調(diào)用已
當(dāng)前第1頁(yè)1 2 3 4 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
建昌县| 新化县| 昌黎县| 东平县| 华亭县| 内丘县| 浦县| 泉州市| 奉新县| 拉孜县| 杂多县| 长兴县| 寿光市| 兴业县| 庆阳市| 邳州市| 庆城县| 得荣县| 天台县| 达拉特旗| 察隅县| 苏州市| 辽阳县| 滨州市| 苏尼特左旗| 三台县| 丘北县| 九龙县| 虞城县| 如东县| 周至县| 万安县| 广汉市| 张家口市| 曲周县| 通州区| 新巴尔虎左旗| 龙州县| 宿迁市| 西平县| 青海省|