国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      檢查程序運(yùn)行錯誤的方法及裝置的制作方法

      文檔序號:6603452閱讀:215來源:國知局
      專利名稱:檢查程序運(yùn)行錯誤的方法及裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明屬于計算機(jī)信息技術(shù)領(lǐng)域,尤其涉及一種檢查程序運(yùn)行錯誤的方法及裝置。
      背景技術(shù)
      在程序員編程過程中,為了檢查程序是否發(fā)生了錯誤,可以采用向程序中插入靜態(tài)閱讀源碼的方案來實現(xiàn)這一目的,該方案簡單來說就是在程序的指定位置處插入額外的代碼,這些額外的代碼用于輸出程序運(yùn)行時的相關(guān)信息以便于程序員根據(jù)該些相關(guān)信息確認(rèn)程序運(yùn)行過程中是否發(fā)生了錯誤。雖然采用上述方案能夠有效檢測到程序運(yùn)行錯誤,但該方案在實際應(yīng)用中也被證明存在著下述缺陷該方案需要在程序中帶入大量無真實作用的代碼,會影響程序的運(yùn)行效率,并使得程序代碼的可閱讀性降低。

      發(fā)明內(nèi)容
      本發(fā)明實施例提供一種檢查程序運(yùn)行錯誤的方法及裝置,用以解決現(xiàn)有技術(shù)中提供的向程序中插入靜態(tài)閱讀源碼來檢查程序運(yùn)行錯誤的方案會增大程序?qū)Υ鎯臻g需求量,且會使得程序代碼的可閱讀性降低的問題。本發(fā)明實施例采用以下技術(shù)方案一種檢查程序運(yùn)行錯誤的方法,包括在運(yùn)行程序的過程中,從所述程序所在的存儲空間外的存儲空間中,獲得預(yù)先設(shè)置的用于檢查所述程序運(yùn)行過程中是否發(fā)生錯誤的診斷腳本,并確定診斷腳本中設(shè)置的排查點所指示的所述程序的行數(shù);通過運(yùn)行所述診斷腳本中預(yù)設(shè)的用于獲得上下文信息的代碼,獲得所述程序運(yùn)行到確定的所述行數(shù)時的上下文信息;根據(jù)獲得的所述上下文信息以及預(yù)設(shè)的標(biāo)準(zhǔn)上下文信息,判斷所述程序運(yùn)行過程中是否發(fā)生錯誤。較佳地,所述排查點是根據(jù)預(yù)先記錄的所述程序可能出現(xiàn)的錯誤類型設(shè)置的。較佳地,獲得所述上下文信息之后,還包括根據(jù)預(yù)設(shè)的信息傳輸路徑傳輸獲得的所述上下文信息。較佳地,該方法還可以包括判斷出所述程序發(fā)生錯誤時,將獲得的所述上下文信息設(shè)置為與預(yù)定的標(biāo)準(zhǔn)上下文信息一致。較佳地,所述上下文相關(guān)信息為下述信息中的一項或多項的組合所述程序包含的各種類型的變量信息;所述程序包含的各種類型的結(jié)構(gòu)信息;所述程序的堆棧內(nèi)容信息;所述程序的調(diào)用棧內(nèi)容信息;所述程序的堆片段內(nèi)容信息;所述程序的進(jìn)程信息;
      所述程序的線程信息;所述程序的運(yùn)行環(huán)境中的硬件上下文信息。一種檢查程序運(yùn)行錯誤的裝置,包括診斷腳本獲得單元,用于在運(yùn)行程序的過程中,從所述程序所在的存儲空間外的存儲空間中,獲得預(yù)先設(shè)置的用于檢查所述程序運(yùn)行過程中是否發(fā)生錯誤的診斷腳本;確定單元,用于確定診斷腳本獲得單元獲得的診斷腳本中設(shè)置的排查點所指示的所述程序的行數(shù);上下文信息獲得單元,用于通過運(yùn)行所述診斷腳本中預(yù)設(shè)的用于獲得上下文信息的代碼,獲得所述程序運(yùn)行到確定單元確定的行數(shù)時的上下文信息;判斷單元,用于根據(jù)上下文信息獲得單元獲得的上下文信息以及預(yù)設(shè)的標(biāo)準(zhǔn)上下文信息,判斷所述程序運(yùn)行過程中是否發(fā)生錯誤。采用本發(fā)明實施例提供的方案,通過在運(yùn)行程序的過程中,從程序所在的存儲空間外的存儲空間中獲得診斷腳本,從而通過運(yùn)行診斷腳本的代碼,就能獲得程序運(yùn)行時的上下文信息,而根據(jù)獲得的上下文信息和預(yù)設(shè)的標(biāo)準(zhǔn)上下文信息,就能夠判斷程序運(yùn)行過程中是否發(fā)生錯A誤,由于本發(fā)明實施例提供的該方案中,診斷腳本是設(shè)置在程序所在的存儲空間外的存儲空間中的,在實現(xiàn)對程序運(yùn)行過程中是否發(fā)生錯誤進(jìn)行檢查的同時,該診斷腳本不會增大程序本身對存儲空間需求量,因此解決了現(xiàn)有技術(shù)中提供的向程序中插入靜態(tài)閱讀源碼來檢查程序運(yùn)行錯誤的方案會增大程序本身對存儲空間需求量的問題,同時,采用本發(fā)明實施例提供的方案還不會降低程序代碼的可閱讀性。


      圖1為本發(fā)明實施例提供的一種檢查程序運(yùn)行錯誤的方法的具體流程示意圖;圖加為本發(fā)明實施例提供的檢查程序運(yùn)行錯誤的方法在實際中的應(yīng)用環(huán)境示意圖;圖2b為本發(fā)明實施例提供的檢查程序運(yùn)行錯誤的方法在實際中的應(yīng)用流程示意圖;圖3為本發(fā)明實施例提供的一種檢查程序運(yùn)行錯誤的裝置的具體結(jié)構(gòu)示意圖。
      具體實施例方式為了解決現(xiàn)有技術(shù)中提供的向程序中插入靜態(tài)閱讀源碼來檢查程序運(yùn)行錯誤的方案會增大程序本身對存儲空間的需求的問題,本發(fā)明實施例提供了一種檢查程序運(yùn)行錯誤的方案,用以在不會增大程序本身對存儲空間需求量的前提下,實現(xiàn)對程序運(yùn)行過程中是否發(fā)生錯誤進(jìn)行檢查。下面結(jié)合各個附圖對本發(fā)明實施例技術(shù)方案的主要實現(xiàn)原理具體實施方式
      及其對應(yīng)能夠達(dá)到的有益效果進(jìn)行詳細(xì)的闡述。本發(fā)明實施例首先提供了一種檢查程序運(yùn)行錯誤的方法,該方法的具體流程示意圖如圖1所示,包括以下步驟步驟11,在運(yùn)行程序的過程中,從程序所在的存儲空間外的存儲空間中,獲得預(yù)先設(shè)置的用于檢查程序運(yùn)行過程中是否發(fā)生錯誤的診斷腳本,并確定診斷腳本中設(shè)置的排查點所指示的程序的行數(shù),其中,排查點可以是根據(jù)預(yù)先記錄的程序可能出現(xiàn)的錯誤類型來設(shè)置的;步驟12,通過運(yùn)行診斷腳本中預(yù)設(shè)的用于獲得上下文信息的代碼,獲得程序運(yùn)行到確定的行數(shù)時的上下文信息,其中,上下文相關(guān)信息為下述信息中的一項或多項的組合程序包含的各種類型的變量信息;程序包含的各種類型的結(jié)構(gòu)信息;程序的堆棧內(nèi)容信息;程序的調(diào)用棧內(nèi)容信息;程序的堆片段內(nèi)容信息;程序的進(jìn)程信息;程序的線程信息;程序的運(yùn)行環(huán)境中的硬件上下文信息;步驟13,根據(jù)獲得的上下文信息和預(yù)設(shè)的標(biāo)準(zhǔn)上下文信息,判斷程序運(yùn)行過程中是否發(fā)生錯誤,在具體應(yīng)用中,針對程序的運(yùn)行情況,可以預(yù)見到在程序沒有發(fā)生錯誤的前提下當(dāng)程序運(yùn)行到任意一行時的上下文信息,在本發(fā)明實施例中,可以將該預(yù)見到的上下文信息成為標(biāo)準(zhǔn)上下文信息,通過比較獲得的上下文信息與標(biāo)準(zhǔn)上下文信息是否一致,就能判斷程序是否出現(xiàn)了錯誤,而當(dāng)判斷出程序發(fā)生錯誤時,可以進(jìn)一步執(zhí)行步驟14 ;步驟14,根據(jù)標(biāo)準(zhǔn)上下文信息,將獲得的上下文信息設(shè)置為與標(biāo)準(zhǔn)上下文信息一致,需要說明的是,由于本發(fā)明實施例提供的該檢查程序運(yùn)行錯誤方法的實施目的在于在不會增大程序?qū)Υ鎯臻g需求量的前提下,實現(xiàn)對程序運(yùn)行過程中是否發(fā)生錯誤進(jìn)行檢查,因此,在實際應(yīng)用中,只要檢查到程序運(yùn)行過程中是否發(fā)生錯誤即可,即在實施該方法時,步驟14也可以視情況不予執(zhí)行。本發(fā)明實施例中,當(dāng)通過運(yùn)行診斷腳本而獲得上下文信息后,為了能夠讓操作人員獲知該上下文信息,還可以根據(jù)預(yù)設(shè)的信息傳輸路徑,將該上下文信息進(jìn)行傳輸,比如, 可以基于FTP或SMTP協(xié)議等網(wǎng)絡(luò)協(xié)議,將上下文信息傳輸?shù)街付ǖ哪康牡?,而這里的目的地可以是預(yù)先設(shè)定的FTP網(wǎng)絡(luò)位置或者是電子信箱。采用本發(fā)明實施例提供的上述方法,由于預(yù)先將獲得上下文信息的診斷腳本設(shè)置到程序所在的存儲空間外的存儲空間中,而不是將診斷腳本中的代碼寫入到該程序中,因此,診斷腳本不會占用到程序的存儲空間,從而不會增大程序?qū)Υ鎯臻g的需求量,此外, 由于診斷腳本能夠獨(dú)立于程序外存在,因此,針對同一類型的程序,可以將診斷腳本設(shè)置為具有兼容性的腳本,即調(diào)用同一個診斷腳本,就能實現(xiàn)對多個不同的程序的錯誤檢查。采用本發(fā)明實施例提供的檢查程序運(yùn)行錯誤的方案,無需在程序中加入額外的代碼就可以方便地獲取程序運(yùn)行時的上下文信息,從而不會增大程序?qū)Υ鎯臻g的需求,并且還能夠提高程序的運(yùn)行效率,同時也提高了程序的可閱讀性。以下以本發(fā)明實施例提供的該方法在實際中的應(yīng)用為例,詳細(xì)說明該方法的具體實現(xiàn)流程,本發(fā)明實施例提供的該方法的應(yīng)用環(huán)境示意圖可以如圖2所示,在圖加所示的應(yīng)用環(huán)境中主要有5個重要組成部分,即MlOl M106,其中,各部分的名稱和主要功能如下程序啟動器模塊M101,用于按不同的模式啟動用戶程序M106 ;診斷調(diào)試器模塊M102,用于執(zhí)行M103發(fā)送來的調(diào)試指令,并根據(jù)該調(diào)試指令,在用戶程序運(yùn)行過程中,獲得用戶程序運(yùn)行到排查點所指示的行數(shù)時的上下文信息,并將獲得的上下文信息提供給自動診斷工具M(jìn)104和上下文信息文件回傳模塊M105 ;診斷腳本解釋器模塊M103,用于在MlOl啟動程序后,解釋診斷腳本,并將診斷腳本中預(yù)先設(shè)置的內(nèi)容解釋為M102能夠識別的調(diào)試指令后發(fā)送給診斷調(diào)試器模塊M102 ;
      自動診斷工具M(jìn)104,用于獲得M102發(fā)送來的上下文信息文件,并自動快速定位可能出現(xiàn)異常的程序排查點,幫助程序員排查用戶程序出錯原因;上下文信息文件回傳模塊M105,用于向預(yù)先設(shè)定的FTP網(wǎng)絡(luò)位置或郵件地址傳輸診斷調(diào)試器模塊M102發(fā)送來的上下文信息,以實現(xiàn)用戶程序的遠(yuǎn)程錯誤診斷。從圖加中還可以看出,診斷腳本與用戶程序M106是相互獨(dú)立的,診斷腳本中的代碼并沒有寫入到用戶程序M106中。具體地,本發(fā)明實施例提供的如圖1所示的方法在該環(huán)境中的應(yīng)用流程示意圖如圖2b所示,包括以下步驟步驟21,根據(jù)預(yù)見的用戶程序M106可能出現(xiàn)的錯誤類型,執(zhí)行對診斷腳本的設(shè)置;步驟22,通過程序啟動模塊M101,以診斷模式啟動用戶程序M106,需要說明的是, 在診斷模式下,MlOl首先啟動診斷調(diào)試器模塊M102 ;步驟23,診斷調(diào)試器模塊M102調(diào)用診斷腳本解釋器模塊M103,利用診斷腳本解釋器模塊M103將診斷腳本解釋為調(diào)試指令,并將該調(diào)試指令發(fā)送給診斷調(diào)試器模塊M102 ;步驟M,在用戶程序M106的運(yùn)行過程中,診斷調(diào)試器模塊M102根據(jù)診斷腳本解釋器模塊M103發(fā)送來的調(diào)試指令控制用戶程序M106的運(yùn)行,并根據(jù)診斷腳本中的排查點,獲得用戶程序M106運(yùn)行到排查點時的上下文信息;步驟25,診斷調(diào)試器模塊M102根據(jù)獲得的上下文信息和預(yù)設(shè)的標(biāo)準(zhǔn)上下文信息, 判斷用戶程序M106是否發(fā)生了錯誤,并在判斷結(jié)果為是時,執(zhí)行步驟沈;步驟沈,中斷用戶程序M106的運(yùn)行,并將獲得的上下文信息文件fl發(fā)送給上下文信息文件回傳模塊M105,通過上下文信息文件回傳模塊M105,將fl傳回指定的位置,上下文信息文件回傳模塊M105所傳送的上下文件信息可以是f2,f2是fl的一份拷貝;步驟27,使用自動診斷工具M(jìn)104瀏覽上下文信息f2,并參照這些上下文信息確定錯誤原因并定位程序中發(fā)生錯誤的代碼的位置,由于參照上下文信息確定錯誤原因和定位代碼位置的方式可以與現(xiàn)有技術(shù)中采用的方式類似,因此不再贅述,在執(zhí)行到該步驟27 后,可以終止如圖2所示的該流程,但進(jìn)一步地,若是用戶程序M106發(fā)生錯誤的原因是跟運(yùn)行環(huán)境有關(guān),則在步驟27之后也可以進(jìn)一步執(zhí)行步驟觀;步驟觀,在正確的運(yùn)行環(huán)境下,采用診斷腳本獲得用戶程序M106在正常運(yùn)行狀態(tài)下的上下文信息文件f3;步驟四,采用自動診斷工具M(jìn)104自動對比f3和f2的內(nèi)容,從而確定出對應(yīng)不一致的上下文信息,并根據(jù)該不一致的上下文信息,確定對應(yīng)于該不一致的上下文信息的排查點的位置,從而實現(xiàn)快速定位可能的用戶程序故障位置,流程結(jié)束。從本發(fā)明實施例提供的該方法在實際中的應(yīng)用可以看出,用于檢查程序運(yùn)行過程中是否發(fā)生錯誤的代碼無需寫入到用戶程序中,而只需要設(shè)置在診斷腳本中,通過運(yùn)行診斷腳本,同樣也能確定出用戶程序是否發(fā)生了錯誤,因此,采用本發(fā)明實施例提供的方案, 能夠在不增加程序?qū)Υ鎯臻g的需求量的前提下,實現(xiàn)對程序運(yùn)行過程中是否發(fā)生錯誤的檢查,從而解決了現(xiàn)有技術(shù)中存在的向程序中插入靜態(tài)閱讀源碼來檢查程序運(yùn)行錯誤的方案會增大程序?qū)Υ鎯臻g的需求的問題。相應(yīng)地,本發(fā)明實施例還提供了一種檢查程序運(yùn)行錯誤的裝置,用以解決現(xiàn)有技術(shù)中提供的向程序中插入靜態(tài)閱讀源碼來檢查程序運(yùn)行錯誤的方案會增大程序?qū)Υ鎯臻g需求量的問題,具體地,本發(fā)明實施例提供的該裝置的具體結(jié)構(gòu)示意圖如圖3所示,包括以下功能單元診斷腳本獲得單元31,用于在運(yùn)行程序的過程中,從程序所在的存儲空間外的存儲空間中,獲得預(yù)先設(shè)置的用于檢查程序運(yùn)行過程中是否發(fā)生錯誤的診斷腳本;確定單元32,用于確定診斷腳本獲得單元31獲得的診斷腳本中設(shè)置的排查點所指示的程序的行數(shù);上下文信息獲得單元33,用于通過運(yùn)行診斷腳本中預(yù)設(shè)的用于獲得上下文信息的代碼,獲得程序運(yùn)行到確定單元32確定的行數(shù)時的上下文信息;確定單元34,用于根據(jù)上下文信息獲得單元33獲得的上下文信息和預(yù)設(shè)的標(biāo)準(zhǔn)上下文信息,確定程序運(yùn)行過程中是否發(fā)生錯誤。較佳地,本發(fā)明實施例提供的該裝置中還可以進(jìn)一步包括第一設(shè)置單元,其用于根據(jù)預(yù)先記錄的程序可能出現(xiàn)的錯誤類型,在診斷腳本中執(zhí)行設(shè)置排查點的操作。此外,本發(fā)明實施例提供的該裝置還可以進(jìn)一步包括傳輸單元,其用于根據(jù)預(yù)設(shè)的信息傳輸路徑,傳輸上下文信息獲得單元獲得的上下文信息,比如,可以基于FTP或SMTP 協(xié)議等網(wǎng)絡(luò)協(xié)議,將上下文信息傳輸?shù)街付ǖ哪康牡?,而這里的目的地可以是預(yù)先設(shè)定的 FTP網(wǎng)絡(luò)位置或者是電子信箱。若需要對獲得的上下文信息進(jìn)行調(diào)整,則本發(fā)明實施例提供的該裝置還可以進(jìn)一步包括第二設(shè)置單元,其用于在確定單元34得到的確定結(jié)果為是時,將上下文信息獲得單元33獲得的上下文信息設(shè)置為與預(yù)定的標(biāo)準(zhǔn)上下文信息一致。本發(fā)明實施例提供的上述方案可以應(yīng)用于對調(diào)試版本的程序運(yùn)行錯誤的進(jìn)行檢查,也可以應(yīng)用于對發(fā)布版本的程序運(yùn)行錯誤進(jìn)行檢查。針對已部署在用戶環(huán)境中的發(fā)布版本程序,在對其運(yùn)行錯誤進(jìn)行檢查時,由于其已經(jīng)處于用戶環(huán)境中,考慮到安全性因素, 需要防止程序代碼在用戶環(huán)境中發(fā)生泄露,因此此時不能采用現(xiàn)有技術(shù)中提供的在程序中插入靜態(tài)閱讀源碼的方案。而由本發(fā)明實施例提供的該方案是采用獨(dú)立于程序外的診斷腳本對程序運(yùn)行錯誤進(jìn)行檢查,從而無需讀取程序代碼并對其進(jìn)行任何改動,因此其可以用于對部署在用戶環(huán)境中的發(fā)布版本程序運(yùn)行錯誤進(jìn)行檢查,同時避免程序代碼發(fā)生泄露的問題??梢?,本發(fā)明實施例提供的上述方案非常適合應(yīng)用于對用戶環(huán)境中的發(fā)布版本程序運(yùn)行錯誤進(jìn)行檢查,具有很強(qiáng)的實用性。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
      權(quán)利要求
      1.一種檢查程序運(yùn)行錯誤的方法,其特征在于,包括在運(yùn)行程序的過程中,從所述程序所在的存儲空間外的存儲空間中,獲得預(yù)先設(shè)置的用于檢查所述程序運(yùn)行過程中是否發(fā)生錯誤的診斷腳本,并確定診斷腳本中設(shè)置的排查點所指示的所述程序的行數(shù);通過運(yùn)行所述診斷腳本中預(yù)設(shè)的用于獲得上下文信息的代碼,獲得所述程序運(yùn)行到確定的所述行數(shù)時的上下文信息;根據(jù)獲得的所述上下文信息以及預(yù)設(shè)的標(biāo)準(zhǔn)上下文信息,判斷所述程序運(yùn)行過程中是否發(fā)生錯誤。
      2.如權(quán)利要求1所述的方法,其特征在于,所述排查點是根據(jù)預(yù)先記錄的所述程序可能出現(xiàn)的錯誤類型設(shè)置的。
      3.如權(quán)利要求1所述的方法,其特征在于,獲得所述上下文信息之后,還包括 根據(jù)預(yù)設(shè)的信息傳輸路徑傳輸獲得的所述上下文信息。
      4.如權(quán)利要求1 3任一所述的方法,其特征在于,還包括判斷出所述程序發(fā)生錯誤時,將獲得的所述上下文信息設(shè)置為與預(yù)定的標(biāo)準(zhǔn)上下文信息一致。
      5.如權(quán)利要求1 3任一所述的方法,其特征在于,所述上下文相關(guān)信息為下述信息中的一項或多項的組合所述程序包含的各種類型的變量信息;所述程序包含的各種類型的結(jié)構(gòu)信息;所述程序的堆棧內(nèi)容信息;所述程序的調(diào)用棧內(nèi)容信息;所述程序的堆片段內(nèi)容信息;所述程序的進(jìn)程信息;所述程序的線程信息;所述程序的運(yùn)行環(huán)境中的硬件上下文信息。
      6.一種檢查程序運(yùn)行錯誤的裝置,其特征在于,包括診斷腳本獲得單元,用于在運(yùn)行程序的過程中,從所述程序所在的存儲空間外的存儲空間中,獲得預(yù)先設(shè)置的用于檢查所述程序運(yùn)行過程中是否發(fā)生錯誤的診斷腳本;確定單元,用于確定診斷腳本獲得單元獲得的診斷腳本中設(shè)置的排查點所指示的所述程序的行數(shù);上下文信息獲得單元,用于通過運(yùn)行所述診斷腳本中預(yù)設(shè)的用于獲得上下文信息的代碼,獲得所述程序運(yùn)行到確定單元確定的行數(shù)時的上下文信息;判斷單元,用于根據(jù)上下文信息獲得單元獲得的上下文信息以及預(yù)設(shè)的標(biāo)準(zhǔn)上下文信息,判斷所述程序運(yùn)行過程中是否發(fā)生錯誤。
      7.如權(quán)利要求6所述的裝置,其特征在于,還包括第一設(shè)置單元,用于根據(jù)預(yù)先記錄的所述程序可能出現(xiàn)的錯誤類型,在所述診斷腳本中執(zhí)行設(shè)置所述排查點的操作。
      8.如權(quán)利要求6所述的裝置,其特征在于,還包括傳輸單元,用于根據(jù)預(yù)設(shè)的信息傳輸路徑,傳輸上下文信息獲得單元獲得的上下文信息
      9.如權(quán)利要求6 8任一所述的裝置,其特征在于,還包括第二設(shè)置單元,用于在判斷單元得到的判斷結(jié)果為是時,將上下文信息獲得單元獲得的上下文信息設(shè)置為與預(yù)定的標(biāo)準(zhǔn)上下文信息一致。
      10.如權(quán)利要求6 8任一所述的裝置,其特征在于,所述上下文相關(guān)信息為下述信息中的一項或多項的組合所述程序包含的各種類型的變量信息;所述程序包含的各種類型的結(jié)構(gòu)信息;所述程序的堆棧內(nèi)容信息;所述程序的調(diào)用棧內(nèi)容信息;所述程序的堆片段內(nèi)容信息;所述程序的進(jìn)程信息;所述程序的線程信息;所述程序的運(yùn)行環(huán)境中的硬件上下文信息。
      全文摘要
      本發(fā)明公開了一種檢查程序運(yùn)行錯誤的方法及裝置,用以解決現(xiàn)有技術(shù)中提供的向程序中插入靜態(tài)閱讀源碼來檢查程序運(yùn)行錯誤的方案會增大程序?qū)Υ鎯臻g需求量,且會使得程序代碼的可閱讀性降低的問題。方法包括在運(yùn)行程序的過程中,從所述程序所在的存儲空間外的存儲空間中,獲得預(yù)先設(shè)置的用于檢查所述程序運(yùn)行過程中是否發(fā)生錯誤的診斷腳本,并確定診斷腳本中設(shè)置的排查點所指示的所述程序的行數(shù);通過運(yùn)行所述診斷腳本中預(yù)設(shè)的用于獲得上下文信息的代碼,獲得所述程序運(yùn)行到所述行數(shù)時的上下文信息;根據(jù)獲得的所述上下文信息以及預(yù)設(shè)的標(biāo)準(zhǔn)上下文信息,判斷所述程序運(yùn)行過程中是否發(fā)生錯誤。
      文檔編號G06F11/36GK102262584SQ201010189460
      公開日2011年11月30日 申請日期2010年5月24日 優(yōu)先權(quán)日2010年5月24日
      發(fā)明者謝浩 申請人:北京北大方正電子有限公司, 北大方正集團(tuán)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1