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

遠程記錄機制的制作方法

文檔序號:6508430閱讀:153來源:國知局
專利名稱:遠程記錄機制的制作方法
技術領域
至少一個實施例涉及計算機系統(tǒng),并且更具體地涉及遠程記錄在計算機系統(tǒng)上執(zhí)行的計算機代碼的調(diào)試信息。
背景技術
隨著計算機代碼變得更復雜,包括驅(qū)動器和程序代碼的代碼調(diào)試變得更難以實現(xiàn)。在遠程計算的情形中,因為必要信息并非總是發(fā)送至遠程編程員以幫助調(diào)試過程時,調(diào)試代碼變得甚至更難。
目前,利用串行端口將調(diào)試信息或者發(fā)送至執(zhí)行代碼的計算機的顯示器或者傳輸至文件。通過利用程序代碼中的打印函數(shù)來實現(xiàn)通過發(fā)送信息至屏幕的調(diào)試。在代碼執(zhí)行期間發(fā)生程序錯誤時,此打印函數(shù)運行調(diào)試子函數(shù)。在此調(diào)試過程期間停止代碼的執(zhí)行。使用打印庫,調(diào)試過程可在兩個方向的其中一個上進行。它可使用打印庫和控制臺庫并且利用串行端口驅(qū)動器生成文件。串行端口,即UART(通用異步收發(fā)器)裝置被限制為大約每秒115200比特的速度。此速度比正在調(diào)試的程序的速度慢得多并且由于此延遲可能會導致甚至更多的錯誤發(fā)生。一旦將數(shù)據(jù)寫入本地文件,就重新開始程序代碼的執(zhí)行。
打印庫還可使用圖形加速器(GA)庫。GA庫控制顯示適配器驅(qū)動器。利用此驅(qū)動器將調(diào)試信息發(fā)送至顯示器。然而,通常顯示器太小而不能容納所有必要信息并且顯示器可能難以讀取。一旦將數(shù)據(jù)寫入顯示器,就重新開始程序代碼的執(zhí)行。
另外,這些打印函數(shù)使用大量的系統(tǒng)時間和資源,這可能會延遲后面代碼的執(zhí)行。尤其是如果程序在實時環(huán)境中運行的話,此延遲可能實際上隱藏代碼中后面的問題。


圖1是示出依照本發(fā)明實施例的計算機系統(tǒng)的一個實施例的示意圖。
圖2是示出依照本發(fā)明實施例實施的邏輯和操作的進一步細節(jié)的流程圖。
圖3是調(diào)試信息節(jié)點的實施例的示意圖。
圖4是示出依照本發(fā)明實施例實施的邏輯和操作的進一步細節(jié)的流程圖。
圖5是示出用于實現(xiàn)本發(fā)明實施例的計算機系統(tǒng)的實施例的圖示。
具體實施例方式
下面描述了用于計算機系統(tǒng)固件的可管理性擴展機制的方法和系統(tǒng)。在下面的描述中,陳述了許多特定的細節(jié),例如涉及可擴展固件接口(EFI)框架規(guī)范的實施例,以便提供對本發(fā)明的透徹理解。對本領域的技術人員來說將顯而易見的是,沒有這些特定的細節(jié)也可以實現(xiàn)本發(fā)明。在其他情形中,未詳細描述公知的設計和實現(xiàn)以便使描述更簡潔。
圖1示出依照本發(fā)明實施例的計算機系統(tǒng)100。計算機系統(tǒng)100包括處理器102、存儲器104、耦合至總線108的固件存儲器110和網(wǎng)絡適配器112。示范的計算機系統(tǒng)100可包括但不限于個人計算機、網(wǎng)絡工作站、便攜式計算機、手持式或掌上型計算機、個人數(shù)字助理(PDA)、無線通信裝置、電視游戲系統(tǒng)和數(shù)字照相機。
固件存儲器110是非易失性存儲裝置,其包括但不限于閃存裝置、可擦可編程只讀存儲器(EPROM)和電子可擦可編程只讀存儲器(EEPROM)。固件存儲器110至少存儲包括可由計算機系統(tǒng)100執(zhí)行的指令和/或數(shù)據(jù)的固件圖像。在一個實施例中,固件圖像包括用于個人計算機的BIOS固件。在另一個實施例中,固件圖像包括在安裝在個人計算機上的擴展板的固件存儲裝置中存儲的固件。在又一個實施例中,固件圖像是在無線電話、PDA或數(shù)字照相機的固件存儲裝置中存儲的固件。
在一個實施例中,固件存儲器110包括依照EFI框架規(guī)范的指令和/或數(shù)據(jù)。當今的固件體系結(jié)構(gòu)包括用于除存儲在平臺的BIOS裝置(例如閃存)中的BIOS代碼所提供的之外擴展BIOS功能性的規(guī)定。更具體地,可擴展固件接口允許從各種不同資源來加載以固件模塊和驅(qū)動器形式的固件,各種不同資源包括主要和次要閃速裝置、選項ROM(只讀存儲器)、各種持久性存儲裝置(例如硬盤、CD ROM(光盤只讀存儲器)等),以及甚至通過計算機網(wǎng)絡來加載。在EFI框架的一個實現(xiàn)中,初始化過程包括存儲在計算機系統(tǒng)100上的固件的各種執(zhí)行階段。這些執(zhí)行階段包括預EFI初始化(PEI)階段、驅(qū)動器執(zhí)行環(huán)境(DXE)階段和EFI 1.0執(zhí)行階段。這些階段使得各種平臺裝置和服務的初始化以及設置成為可能,并且允許依照在EFI 1.0執(zhí)行階段之后的OS運行階段來引導操作系統(tǒng)。
在一個實施例中,固件存儲器110是閃存裝置。本領域的技術人員將會理解,可使用用于維持固件代碼和/或數(shù)據(jù)的其他類型的持久性存儲裝置并且本文所討論的使用閃速裝置的實施例僅僅是示范性的。
閃存是允許制造商和(利用適當硬件/軟件)的最終用戶電擦除并重新編程信息的非易失性存儲技術。閃存通常以被稱為塊的存儲單位進行擦除而不是以位的級別進行擦除,其中當塊被擦除時給定塊中的所有位被轉(zhuǎn)換到預定極性(即,邏輯電平)。在一個實施例中,塊大小是64k。在另一個實施例中,塊大小是32k。在一種常用類型的閃存、例如由Intel公司制造的閃存裝置中,通過將存儲塊中的所有位設為1而電子擦除存儲塊。接著可通過將單獨的位翻轉(zhuǎn)為0以形成與數(shù)據(jù)相對應的適當?shù)奈荒J蕉鴮?shù)據(jù)寫入塊。在其他類型的閃速裝置中,被擦除的邏輯狀態(tài)為全0,并且將數(shù)據(jù)寫入這些裝置包括將單獨的位變?yōu)?。注意到,在常規(guī)的閃速裝置中,單獨的位無法從改變的(即設定的)邏輯電平翻轉(zhuǎn)回到被擦除的邏輯電平;為了更新塊中的數(shù)據(jù),所有位必須首先被擦除,而后被重寫。
依照一個實施例,存儲裝置106耦合至總線108。示范的存儲裝置包括但不限于磁驅(qū)動器、光驅(qū)動器或諸如此類。在備選實施例中,存儲器106不是計算機系統(tǒng)100的一部分,但是可由計算機系統(tǒng)100進行訪問。
網(wǎng)絡適配器112耦合至總線108。網(wǎng)絡適配器或網(wǎng)絡接口卡(NIC)在計算機系統(tǒng)100和網(wǎng)絡之間形成連接。有線NIC通常使用以太網(wǎng)連接并且可用于10、100和1000Base-T配置。100-Base-T卡可以100Mbps的速率傳送數(shù)據(jù)。有線NIC可使用ISA、PCI、PCMCIA或PCI Xpress總線。無線NIC還允許利用例如IEEE 802.11族和藍牙(IEEE 802.15)的無線規(guī)范連接到網(wǎng)絡。在一個實施例中,網(wǎng)絡適配器112支持EFI框架。
在一個實施例中,如果存在有多個網(wǎng)絡適配器112,則用戶可確定使用任何網(wǎng)絡適配器。然而,要求用戶首先要配置運行環(huán)境。例如,可使用工具包。示范的配置指令可采用netdebugcfg-s“eth0 514192.168.0.1 514”的形式。參數(shù)“-s”指使用本文所描述的遠程記錄。參數(shù)“eth0”指選擇名為eth0的網(wǎng)絡適配器作為通信裝置。第一個“514”表示本機端口等于“514”。本領域的技術人員將會注意到,端口通常與UDP相關聯(lián)。參數(shù)“192.168.0.1”表示在其上程序正在運行的機器的IP地址,并且最后的參數(shù)“514”表示遠程端口。
傳統(tǒng)上,BIOS不提供連網(wǎng)功能性。在一個實施例中,BIOS被重新構(gòu)建以提供該功能性。在另一個實施例中,除了BIOS外還使用EFI框架。EFI框架的一個實施例具有并入FreeBSD TCP/IPv4協(xié)議棧的端口的、與BSD(伯克利軟件分發(fā)版)套接字兼容的接口,其又利用EFI簡單網(wǎng)絡接口(SNI)協(xié)議。EFI套接字協(xié)議接口提供EFI應用工具包的核心組件的其中之一。套接字接口與網(wǎng)絡傳輸無關。盡管最常用的實現(xiàn)連接到TCP/IPv4網(wǎng)絡棧,但是它同樣可用于TCP/IPv6、IPX、NetBEUI或Appletalk網(wǎng)絡棧。套接字接口還是應用程序的事實上的標準連網(wǎng)接口。從EFI的觀點看,該體系結(jié)構(gòu)的最重要方面是由TCP/IPv4棧實現(xiàn)的套接字協(xié)議接口規(guī)范。通過實現(xiàn)EFI套接字協(xié)議接口,新的和/或不同的網(wǎng)絡棧實現(xiàn)可以在平臺上運行而無需重新編譯使用它們的應用程序。參考TCP/IPv4網(wǎng)絡棧是FreeBSD實現(xiàn)的端口。這包括IPv4、TCP、UDP、ARP和ICMP的實現(xiàn)。該棧還包括對因特網(wǎng)組管理協(xié)議(IGMP)和資源預留協(xié)議(RSVP)的支持。該棧實現(xiàn)為可供應用程序和一個或多個EFI協(xié)議同時使用的EFI協(xié)議。對網(wǎng)絡棧的訪問是通過EFI套接字協(xié)議接口進行的。協(xié)議接口的完整描述可以在第3部分中找到。如同F(xiàn)reeBSD系統(tǒng)一樣,所有的網(wǎng)絡棧配置可以在運行時實施。
示出依照本發(fā)明實施例實施的邏輯和操作的進一步細節(jié)的流程圖200在圖2中示出。計算機系統(tǒng)運行包括調(diào)試打印函數(shù)的程序或代碼片段202,該調(diào)試打印函數(shù)在該代碼片段執(zhí)行期間發(fā)生程序錯誤時運行調(diào)試子函數(shù)。出于說明的目的,此計算機系統(tǒng)將被稱為“客戶機”。在發(fā)生錯誤之后使客戶機上代碼片段202的正常執(zhí)行停止并且調(diào)用調(diào)試函數(shù)??捎蓤?zhí)行代碼202訪問的網(wǎng)絡打印驅(qū)動器(NetPrint)204用于傳送來自代碼202的調(diào)試信息。在一個實施例中,可以重新編譯已有的程序代碼以利用新的調(diào)試函數(shù)。網(wǎng)絡打印驅(qū)動器204接收調(diào)試信息并且代碼片段202的執(zhí)行立即重新開始。
網(wǎng)絡適配器可由它的網(wǎng)絡適配器驅(qū)動器206訪問。網(wǎng)絡打印驅(qū)動器204將調(diào)試信息傳輸至網(wǎng)絡適配器驅(qū)動器206,其又利用網(wǎng)絡適配器將數(shù)據(jù)傳輸至遠程主機用于存儲或記錄。出于說明的目的,遠程主機被稱為“服務器”。術語“服務器”包括能夠接收此數(shù)據(jù)的計算機系統(tǒng)。這種數(shù)據(jù)的傳輸和存儲提供了在服務器處遠程調(diào)試和跟蹤執(zhí)行代碼的能力。在實施例中,執(zhí)行程序的運行狀態(tài)還可以通過客戶機的網(wǎng)絡適配器進行遠程訪問。
因為所有調(diào)試信息直接通過網(wǎng)絡適配器傳輸,而不是通過通常使用的、例如串行端口的其他裝置傳輸,客戶機的運行時間幾乎未花費在傳輸調(diào)試信息上。例如,100M NIC可用70微秒發(fā)送1KB的數(shù)據(jù)包,而串行端口會用70毫秒傳輸該大小相同的包。傳送操作所需要的資源是網(wǎng)絡適配器。因此,傳統(tǒng)上用于調(diào)試的、例如打印庫的其他庫是不必要的。
在實施例中,服務器具有設計用來監(jiān)控網(wǎng)絡流量的程序。該程序在被執(zhí)行時收集并記錄自客戶機傳輸?shù)恼{(diào)試信息。該調(diào)試信息接著可由服務器進行訪問。在一個實施例中,服務器程序使用不同顏色或字體來顯示自客戶機接收的消息。
圖3示出自客戶機傳輸至服務器的調(diào)試信息節(jié)點300的實施例。優(yōu)先級(PRI)302分量表示消息的優(yōu)先級。調(diào)試信息還可包括與計算機代碼執(zhí)行過程中發(fā)生錯誤時的時間和/或日期相對應的時間戳304。主機(客戶機)ID306還可包括在調(diào)試信息節(jié)點300中。主機ID306唯一識別網(wǎng)絡上的、將調(diào)試信息傳輸至服務器的特殊客戶機。這在高度連網(wǎng)的情況中尤其有利,例如網(wǎng)吧,在這里可能以其他的方式難以確定哪個客戶機正有關于執(zhí)行代碼的問題。
調(diào)試信息節(jié)點300的一個實施例包括元數(shù)據(jù)308。元數(shù)據(jù)描述了此調(diào)試信息的程序上下文信息,它對試圖定位程序代碼中的錯誤的開發(fā)者有幫助。元數(shù)據(jù)308可包括但不限于代碼的模塊名314和子模塊名316、用戶可定義的優(yōu)先級318、代碼的文件名320和代碼的行號322。計算機代碼可以分為若干模塊或部分。另外,每個模塊可以進一步細分為子模塊。模塊名314和子模塊名316表示未正確執(zhí)行的特殊模塊或子模塊。
調(diào)試信息節(jié)點300還包括調(diào)試信息312。調(diào)試信息312可包含描述變量的當前值或系統(tǒng)狀態(tài)的若干字符。這對于程序開發(fā)者跟蹤和調(diào)試源于代碼的問題是有用的。開發(fā)者可按照他/她的需求來定義調(diào)試信息內(nèi)容的細節(jié)。調(diào)試信息節(jié)點300的長度是受限的。調(diào)試信息節(jié)點300的最大長度是傳送調(diào)試信息節(jié)點300所通過的當前網(wǎng)絡接口的最大傳輸單元(MTU)的大小。
在一個實施例中,調(diào)試信息節(jié)點300包括分隔符310。分隔符310包括項目名324和序號326。通過使用序號326來發(fā)現(xiàn)由于未知原因而在傳輸中丟失的項。當準備傳輸信息節(jié)點300時,可為序號326賦值。在一個實施例中,對于后面的節(jié)點,序號值增加1。對于所有節(jié)點300,序號應當是唯一的。一般,節(jié)點300還是連續(xù)的。程序開發(fā)者可通過檢查接收的每個節(jié)點的序號326來確定調(diào)試信息的哪一項丟失了。
示出依照本發(fā)明實施例實施的邏輯和操作的進一步細節(jié)的流程圖在圖4中示出。在網(wǎng)絡打印驅(qū)動器400的一個實施例中,過濾器和節(jié)點構(gòu)建器402提供了按照存儲在配置模塊404中的配置參數(shù)過濾輸入的調(diào)試信息的能力。過濾器和節(jié)點構(gòu)建器402還可利用來自配置模塊404的參數(shù)來構(gòu)造調(diào)試信息節(jié)點。在一個實施例中,調(diào)試信息節(jié)點是適于傳輸?shù)陌?。在另一個實施例中,調(diào)試信息節(jié)點必須分解成包。
配置模塊404提供了能夠從用戶接收用于配置過濾器和節(jié)點構(gòu)建器402的指令的用戶接口??膳渲玫囊匕ǖ幌抻谀K名、子模塊名、用戶定義的優(yōu)先級、文件名、行號、項目名和序號。
過濾器和節(jié)點構(gòu)建器402使用配置模塊404的參數(shù)以幫助過濾輸入的調(diào)試信息。例如,對于輸入過濾器和節(jié)點構(gòu)建器402的給定的調(diào)試信息,將調(diào)試信息的模塊名、子模塊名和用戶定義的優(yōu)先級與配置模塊404中為這些要素設置的值進行比較。如果這些值匹配,則調(diào)試信息被過濾器和節(jié)點構(gòu)建器402接受。如果這些值不匹配,則過濾器和節(jié)點構(gòu)建器402不會認為調(diào)試信息有效。
在一個實施例中,調(diào)度器406將由過濾器和節(jié)點構(gòu)建器402創(chuàng)建的節(jié)點傳輸至網(wǎng)絡適配器驅(qū)動器408。如果節(jié)點未能傳輸,則將其保存在緩沖隊列410中。節(jié)點未能傳輸?shù)脑虬ǖ幌抻诰W(wǎng)絡適配器驅(qū)動器或者網(wǎng)絡適配器未正確起作用、網(wǎng)絡適配器缺失、網(wǎng)絡上供網(wǎng)絡適配器操作的流量太多、服務器或客戶機斷電以及網(wǎng)絡故障。在另一個實施例中,沒有緩沖隊列410并且只是忽略失敗的節(jié)點傳送。
在一個實施例中,緩沖隊列410被存儲在非易失性存儲器中。即使客戶機斷電,也可保留存儲在非易失性存儲器的緩沖隊列410中的節(jié)點。這允許調(diào)度器406在恢復為客戶機供電之后嘗試重新傳輸節(jié)點而不丟失在客戶機運行時所收集的調(diào)試信息。在另一個實施例中,將緩沖隊列410存儲在易失性存儲器中。
可在稍后時間由調(diào)度器406重新傳輸存儲在緩沖隊列410中的節(jié)點。例如,當網(wǎng)絡未被流量擁塞時,調(diào)度器收集存儲在緩沖隊列410中的節(jié)點并且嘗試重新傳輸該節(jié)點。
在一個實施例中,在客戶機上執(zhí)行的程序代碼包括用于創(chuàng)建調(diào)試信息節(jié)點的指令。在此實施例中,配置模塊以及過濾器和節(jié)點構(gòu)建器被包括在內(nèi)。程序代碼創(chuàng)建調(diào)試信息節(jié)點并且將該節(jié)點發(fā)送至調(diào)度器406。
在一個實施例中,用于將調(diào)試信息包從客戶機傳輸至服務器的通信協(xié)議是公共網(wǎng)絡協(xié)議,其包括但不限于UDP和TCP/IP的TCP。所用協(xié)議應當確保自客戶機發(fā)送的信息到達服務器。如果協(xié)議可通過不同的子網(wǎng)絡或因特網(wǎng),則可將客戶機和服務器放置成彼此遠離。
在一個實施例中,調(diào)試信息包的格式是SYSLOG協(xié)議,該協(xié)議基于UDP協(xié)議。SYSLOG協(xié)議在許多場合通常用作網(wǎng)絡管理格式種類。在此實施例中,SYSLOG用作通信協(xié)議,這是因為在用戶端,存在有可用于接收并示出跟蹤/調(diào)試信息的詳細內(nèi)容的客戶工具。然而,傳統(tǒng)SYSLOG未提供可由調(diào)試信息節(jié)點提供的所有信息。傳統(tǒng)上,SYSLOG位于UDP層的頂部,而在此實施例中,只需要網(wǎng)絡適配器的驅(qū)動器。
圖5示出了用于實施本文所描述的本發(fā)明實施例的示范的計算機系統(tǒng)500的實施例。計算機系統(tǒng)500通常示為各種類型的計算機裝置,包括個人計算機、膝上型計算機、工作站、服務器等;為簡便起見,本文只討論計算機系統(tǒng)的基本組件。計算機系統(tǒng)500包括處理器機架502,其中容納了各種硬件組件,包括軟盤驅(qū)動器504、硬盤506、電源(圖中未示出)和母板508,母板508填充有包括耦合至一個或多個處理器512的系統(tǒng)存儲器510的適當?shù)募呻娐?。存儲?10可包括但不限于動態(tài)隨機存取存儲器(DRAM)、靜態(tài)隨機存取存儲器(SRAM)、同步動態(tài)隨機存取存儲器(SDRAM)、內(nèi)存總線式動態(tài)隨機存取存儲器(RDRAM)或諸如此類。處理器512可以是常規(guī)的微處理器,其包括但不限于Intel公司的X86、Pentium、XScale或Itanium系列的微處理器、Motorola系列的微處理器、IBM的PowerPC微處理器或諸如此類。硬盤506可包括單個單元或多個單元,并且可以可選地駐留在計算機系統(tǒng)500的外部。該系統(tǒng)還包括引導固件裝置,在該裝置上存有固件,它可通常包括例如ROM裝置520或閃速裝置522的非易失性存儲器。母板同樣可包括其他固件裝置(圖中未示出)。一般地,系統(tǒng)的處理器將包括32或64位體系結(jié)構(gòu),并且系統(tǒng)存儲器將包括適于處理器的物理尋址方案,并且可通過相應的連接到處理器和存儲器的地址和數(shù)據(jù)總線對其進行訪問。
用于顯示由計算機系統(tǒng)500運行的固件、軟件程序和程序模塊所生成的圖形和文本的監(jiān)視器514被包括在內(nèi),所述圖形和文本例如為系統(tǒng)引導期間呈現(xiàn)的系統(tǒng)信息。鼠標516(或其他指示裝置)可以連接到串行端口、USB端口或以通信方式耦合至CPU 5 12的其他類似的總線端口。鍵盤518以和鼠標516類似的方式、通過通信的方式耦合至母板508,用于用戶輸入文本和命令。在一個實施例中,計算機系統(tǒng)500還包括網(wǎng)絡接口卡NIC或內(nèi)置NIC接口(圖中未示出),用于將計算機系統(tǒng)500連接到例如局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)或因特網(wǎng)的計算機網(wǎng)絡530。
所示出的實施例還包括耦合至母板508的擴展槽的可選的附加卡524。在一個實施例中,附加卡524包括其上存有固件的選項ROM526。計算機系統(tǒng)500還可以可選地包括光盤只讀存儲器(“CD-ROM”)驅(qū)動器528,可將CD-ROM盤插入光盤只讀存儲器驅(qū)動器528中,使得可以讀取盤上的例如操作系統(tǒng)的可執(zhí)行文件和數(shù)據(jù)或者將其移進系統(tǒng)RAM510和/或硬盤506中。其他大容量存儲裝置可以包括在計算機系統(tǒng)500中。
在另一個實施例中,計算機系統(tǒng)500是可與本發(fā)明一起使用的手持式或掌上型計算機,其有時被稱為個人數(shù)字助理(PDA)。手持式計算機可能不包括硬盤或其他大容量存儲器,并且將可執(zhí)行程序從有繩或無線網(wǎng)絡連接裝入存儲器510以由處理器512來執(zhí)行。典型的計算機系統(tǒng)500將通常至少包括處理器515、存儲器510和將存儲器510耦合至處理器512的總線(圖中未示出)。
將會意識到,在一個實施例中,由包括例如盤操作系統(tǒng)的文件管理系統(tǒng)的操作系統(tǒng)軟件來控制計算機系統(tǒng)500,所述文件管理系統(tǒng)是操作系統(tǒng)軟件的一部分。例如,本發(fā)明的一個實施例利用MicrosoftWindows作為計算機系統(tǒng)500的操作系統(tǒng)。在另一個實施例中,依照本發(fā)明的教導還可使用例如但不限于Apple Macintosh操作系統(tǒng)、Linux操作系統(tǒng)、Microsoft Windows CE操作系統(tǒng)、Unix操作系統(tǒng)、3Com Palm操作系統(tǒng)或諸如此類的其他操作系統(tǒng)。
因此,本發(fā)明的實施例可用作或支持在某一形式的處理核(例如處理器512)上執(zhí)行的或者以其他的方式在機器可讀介質(zhì)上或內(nèi)部實施或?qū)崿F(xiàn)的固件和軟件代碼。機器可讀介質(zhì)包括用于存儲或傳輸機器(例如計算機)可讀形式的信息的任何機制。例如,機器可讀介質(zhì)可包括但不限于只讀存儲器(ROM)、隨機存取存儲器(RAM)、磁盤存儲介質(zhì)、光存儲介質(zhì)、閃存裝置或諸如此類。另外,機器可讀介質(zhì)可包括傳播信號,例如電的、光的、聲的或其他形式的傳播信號(例如載波、紅外信號、數(shù)字信號等)。
以上對本發(fā)明所示實施例的描述以及摘要中所描述的內(nèi)容并不旨在是窮舉的或者將本發(fā)明限定為所公開的精確形式。雖然出于說明目的在本文中描述了本發(fā)明的特定實施例和例子,但是正如相關領域的技術人員將會意識到的,在本發(fā)明范圍內(nèi),各種等同的修改是可能的。
根據(jù)上面詳細的描述可對本發(fā)明實施這些修改。下面的權(quán)利要求書中所用的術語不應當被認為是將本發(fā)明限于說明書和權(quán)利要求書中公開的特定實施例。更確切地,本發(fā)明的范圍將完全由下面的權(quán)利要求書來確定,將依照所制定的權(quán)利要求解釋原則來解釋下面的權(quán)利要求書。
權(quán)利要求
1.一種方法,包括在第一計算機系統(tǒng)上執(zhí)行程序代碼;在所述程序代碼的執(zhí)行期間發(fā)生錯誤時生成調(diào)試信息;以及通過網(wǎng)絡適配器將所述調(diào)試信息傳輸至第二計算機系統(tǒng)。
2.如權(quán)利要求1所述的方法,其中通過執(zhí)行所述程序代碼中對網(wǎng)絡打印驅(qū)動器的函數(shù)調(diào)用來實施生成調(diào)試信息。
3.如權(quán)利要求2所述的方法,還包括在對所述網(wǎng)絡打印驅(qū)動器的所述函數(shù)調(diào)用的執(zhí)行期間停止所述程序代碼的執(zhí)行;將所述調(diào)試信息傳輸至所述網(wǎng)絡打印驅(qū)動器;以及在將所述調(diào)試信息傳輸至所述網(wǎng)絡打印驅(qū)動器之后重新開始所述程序代碼的執(zhí)行。
4.如權(quán)利要求1所述的方法,還包括根據(jù)所述調(diào)試信息構(gòu)建調(diào)試信息節(jié)點。
5.如權(quán)利要求4所述的方法,其中所述調(diào)試信息節(jié)點包括選自由下列項組成的組的數(shù)據(jù)優(yōu)先級、時間戳、主機ID、元數(shù)據(jù)、分隔符和調(diào)試信息。
6.如權(quán)利要求5所述的方法,其中所述元數(shù)據(jù)包括選自由下列項組成的組的數(shù)據(jù)模塊名、子模塊名、優(yōu)先級、文件名和行號。
7.如權(quán)利要求6所述的方法,其中所述分隔符包括選自由下列項組成的組的數(shù)據(jù)項目名和序號。
8.如權(quán)利要求4所述的方法,其中所述第一計算機系統(tǒng)可依照可擴展固件接口(EFI)框架規(guī)范進行操作。
9.如權(quán)利要求8所述的方法,還包括在未能將所述調(diào)試信息節(jié)點自所述第一計算機系統(tǒng)傳輸?shù)剿龅诙嬎銠C系統(tǒng)時將所述調(diào)試信息節(jié)點緩沖進非易失性存儲器;以及重新嘗試將所述調(diào)試信息自緩沖器傳送至所述第二計算機系統(tǒng)。
10.如權(quán)利要求8所述的方法,還包括在所述第二計算機系統(tǒng)處為來自第二計算機系統(tǒng)的調(diào)試信息節(jié)點監(jiān)控網(wǎng)絡流量;以及接收來自所述第一計算機系統(tǒng)的所述調(diào)試信息節(jié)點。
11.一種方法,包括在過濾器和節(jié)點構(gòu)建器處接收來自計算機程序的調(diào)試信息;利用來自配置模塊的可配置參數(shù)構(gòu)建調(diào)試信息節(jié)點;利用調(diào)度器通過網(wǎng)絡適配器傳輸所述節(jié)點。
12.如權(quán)利要求11所述的方法,還包括在未能通過所述網(wǎng)絡適配器傳輸所述節(jié)點時,將所述節(jié)點緩沖進存儲裝置。
13.如權(quán)利要求11所述的方法,還包括利用來自所述配置模塊的所述可配置參數(shù)在所述過濾器和節(jié)點構(gòu)建器處過濾調(diào)試信息。
14.如權(quán)利要求13所述的方法,其中所述可配置參數(shù)選自由下列項組成的組優(yōu)先級、時間戳、主機ID、元數(shù)據(jù)、分隔符、調(diào)試信息、模塊名、子模塊名、優(yōu)先級、文件名、行號、項目名和序號。
15.一種制品,包括機器可讀介質(zhì),在所述機器可讀介質(zhì)上存有多條指令,在被執(zhí)行時所述多條指令實施下列操作,包括執(zhí)行存儲在第一計算機系統(tǒng)中的程序代碼;在所述程序代碼的執(zhí)行期間發(fā)生錯誤時構(gòu)建調(diào)試信息節(jié)點;以及調(diào)用網(wǎng)絡打印驅(qū)動器以通過網(wǎng)絡適配器將所述調(diào)試信息節(jié)點傳輸至第二計算機系統(tǒng)。
16.如權(quán)利要求15所述的制品,其中所述調(diào)試信息節(jié)點包括選自由下列項組成的組的數(shù)據(jù)優(yōu)先級、時間戳、主機ID、元數(shù)據(jù)、分隔符和調(diào)試信息。
17.如權(quán)利要求16所述的制品,其中所述元數(shù)據(jù)包括選自由下列項組成的組的數(shù)據(jù)模塊名、子模塊名、優(yōu)先級、文件名和行號。
18.如權(quán)利要求16所述的制品,其中所述分隔符包括選自由下列項組成的組的數(shù)據(jù)項目名和序號。
19.如權(quán)利要求15所述的制品,其中所述第一計算機系統(tǒng)可依照可擴展固件接口(EFI)框架規(guī)范進行操作。
20.一種計算機系統(tǒng),包括處理器;可操作耦合至所述處理器的網(wǎng)絡適配器;可操作耦合至所述處理器的至少一個閃速裝置,在所述至少一個閃速裝置上存有固件指令;以及至少一個存儲裝置,在所述至少一個存儲裝置上存有計算機程序代碼,在由所述處理器執(zhí)行時所述計算機程序代碼實施下列操作,包括在所述程序代碼的執(zhí)行期間發(fā)生錯誤時,接收來自計算機程序的調(diào)試信息;將配置參數(shù)用于所述調(diào)試信息以創(chuàng)建調(diào)試信息節(jié)點;以及通過所述網(wǎng)絡適配器將所述調(diào)試信息節(jié)點傳輸至遠程計算機。
21.如權(quán)利要求20所述的計算機系統(tǒng),其中所述固件依照可擴展固件接口(EFI)框架規(guī)范進行操作。
22.如權(quán)利要求21所述的計算機系統(tǒng),所述調(diào)試信息節(jié)點包括選自由下列項組成的組的數(shù)據(jù)優(yōu)先級、時間戳、主機ID、元數(shù)據(jù)、分隔符、調(diào)試信息、模塊名、子模塊名、優(yōu)先級、文件名、行號、項目名和序號。
23.如權(quán)利要求21所述的計算機系統(tǒng),其中所述網(wǎng)絡適配器是有線以太網(wǎng)卡。
24.如權(quán)利要求21所述的計算機系統(tǒng),其中所述網(wǎng)絡適配器是無線以太網(wǎng)卡。
25.如權(quán)利要求21所述的計算機系統(tǒng),還包括用于設置所述配置參數(shù)的用戶接口。
全文摘要
描述了一種用于遠程記錄調(diào)試信息的方法和系統(tǒng)。在執(zhí)行過程中發(fā)生錯誤時計算機執(zhí)行程序代碼生成調(diào)試信息。接著利用網(wǎng)絡適配器將該調(diào)試信息發(fā)送至遠程計算機。在一個實施例中,執(zhí)行程序的計算機是順應可擴展固件接口(EFI)的。
文檔編號G06F11/00GK101088070SQ200480044672
公開日2007年12月12日 申請日期2004年12月31日 優(yōu)先權(quán)日2004年12月31日
發(fā)明者Y·鄧, R·簡, C·宋, Y·孫, Z·王 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
且末县| 蛟河市| 辛集市| 蓬安县| 额敏县| 灵川县| 凌源市| 永寿县| 胶州市| 南涧| 林西县| 石首市| 宾川县| 铜川市| 张家口市| 泉州市| 庄河市| 桑日县| 镇平县| 北川| 宜昌市| 库尔勒市| 开封县| 车致| 枞阳县| 宁阳县| 武定县| 内黄县| 汶上县| 青冈县| 临沭县| 巴彦淖尔市| 儋州市| 毕节市| 萍乡市| 柯坪县| 敖汉旗| 定西市| 青海省| 西昌市| 舟曲县|