CN100365994C - 用于调试以太网的方法和装置 - Google Patents

用于调试以太网的方法和装置 Download PDF

Info

Publication number
CN100365994C
CN100365994C CNB2005100541107A CN200510054110A CN100365994C CN 100365994 C CN100365994 C CN 100365994C CN B2005100541107 A CNB2005100541107 A CN B2005100541107A CN 200510054110 A CN200510054110 A CN 200510054110A CN 100365994 C CN100365994 C CN 100365994C
Authority
CN
China
Prior art keywords
network adapter
counter
function
debugging
tracks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2005100541107A
Other languages
English (en)
Other versions
CN1710867A (zh
Inventor
德比·安·安格林
约翰·戴维·马森
鲍尔·恩古扬
布赖恩·迈克尔·金斯基
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1710867A publication Critical patent/CN1710867A/zh
Application granted granted Critical
Publication of CN100365994C publication Critical patent/CN100365994C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC

Abstract

本发明公开和要求了一种通过自动监视以太网适配器的功能并在检测到不正确的以太网适配器功能时自动打开调试跟踪,调试以太网适配器和以太网适配器设备驱动程序的系统。实施例使计数器保持表示不正确以太网适配器功能事件的数量减正确以太网适配器功能事件的数量。如果该计数器达到阈值,则以太网适配器设备驱动程序自动启用调试跟踪,以将功能信息存储到跟踪表。

Description

用于调试以太网的方法和装置
技术领域
本发明一般地涉及数据处理系统,更特别地涉及调试(debug)以太网设备和驱动程序(driver)。
背景技术
以太网是可以用于在建筑物或校园内互连计算机、打印机、服务器以及其它计算机设备的网络标准。这种设备通过网络利用以太网分组(packet)发送信息。以太网分组通常含有同步前置码、目的地址、源地址、可变长度数据字段以及其它信息。可以通过以太网电缆,例如绞合线、同轴电缆或光缆,发送以太网分组。在另一种方法中,可以利用无线电波、红外或其它无线通信装置,发送以太网分组。
个人计算机是可以通过以太网进行通信的网络设备的一个例子。利用通常被称为以太网适配器的硬件,可以实现个人计算机通过以太网进行的这种通信。以太网适配器是一种将网络设备连接到以太网电缆或其它传输媒体的单元。与和个人计算机相关联的许多其它印刷电路板类似,以太网适配器也需要软件驱动程序,以便与操作系统和其它计算机硬件一起正常工作。关于以太网适配器,软件驱动程序通常被称为以太网设备驱动程序。以太网适配器还可以被称为以太网控制器。
在诸如AIX的某些操作系统中,以太网设备驱动程序将所有驱动程序错误跟踪记录到系统跟踪表内,该系统跟踪表驻留在内核存储器上。启用调试跟踪导致丧失性能,因此根据默认不启用调试跟踪。为了避免牺牲性能,需要用户干预,以记录调试跟踪。例如,在AIX操作系统中,开发人员可以在Unix命令行中键入命令“entstat-t”,以打开以太网设备驱动程序的调试跟踪。为了诊断问题,开发人员可以检查所存储的调试跟踪信息,并利用该信息和内核转储(kerneldump),以便有助于识别发生系统崩溃的原因。然而,在许多情况下,在开发人员可以检查所存储的调试跟踪信息之前,开发人员必须重新引导系统、打开调试跟踪,以存储信息,并尝试重新产生问题,以便可以检查所存储的信息。这种故障排除方法耗时,并且在重复导致系统崩溃的征兆时,通常不成功。
由于为对诸如以太网适配器的特定设备进行故障排除分配的存储器的容量有限,涉及内核系统崩溃转储的本系统受到限制。因此,如果以太网设备驱动程序或以太网适配器存在问题,则在调试跟踪中,开发人员只能使用有限数量的信息进行分析。此外,这种信息通常只有在重新引导系统后尝试重新产生系统崩溃之后才可用。通常,在调试问题时,开发人员必须要求其客户机启用调试跟踪,尝试重新产生问题,然后,将跟踪表转发给开发人员。这种过程耗时,并且通常无效。此外,如果以太网产生致命错误,则跟踪表内的各跟踪的可能没有足够的信息来调试问题。
需要一种用于对以太网适配器和以太网设备驱动程序进行故障排除(troubleshoot),以使开发人员能够在系统崩溃发生之前识别问题的来源的改进型方法和设备。
发明内容
本发明通过提供一种方法来满足上述要求,所述方法通过启用以太网错误跟踪并检测不正确以太网适配器功能来检测以太网适配器错误。本发明实施例进一步在检测到不正确以太网适配器功能时,递增计数器。将计数值与阈值进行比较,并且如果计数值大于或者等于该阈值,则启用调试跟踪。在检测到正确以太网适配器功能时,该计数器递减。在另一个实施例中,如果计数器等于0或者某个其它阈值,则禁用调试跟踪。
根据本发明的一方面,提供一种用于检测网络适配器错误的方法,包括步骤:启用网络适配器错误跟踪;检测不正确的网络适配器功能;响应于检测到不正确的网络适配器功能,递增计数器,其中该计数器的计数器值等于该计数器递增的次数减去该计数器递减的次数;将该计数器值与第一阈值进行比较;以及如果该计数器值大于第一阈值,则启用调试跟踪。
根据本发明的另一方面,提供一种网络适配器设备驱动装置,包括:用于启用错误跟踪的装置;用于检测不正确的网络适配器功能的装置;用于响应于检测到不正确的网络适配器功能,递增计数器,其中该计数器的计数器值等于该计数器递增的次数减去该计数器递减的次数的装置;用于将该计数器值与第一阈值进行比较的装置;以及用于如果该计数器值大于第一阈值,则启用调试跟踪的装置。
根据本发明的又一方面,提供一种用于自动记录网络适配器的调试跟踪的方法,包括步骤:检测不正确的网络适配器功能;响应于检测到不正确的网络适配器功能,递增计数器,其中该计数器的计数器值等于该计数器递增的次数减去该计数器递减的次数;将该计数器值与第一阈值进行比较;以及如果该计数器值大于第一阈值,则启用调试跟踪。
为了更好地理解下面对本发明所做的详细说明,上面非常广泛地概括了本发明的特征和优点。下面将说明本发明的其它特征和优点,它们构成本发明的主题。
附图说明
为了更全面理解本发明及其优点,现在,将结合附图参考下面的说明,其中:
图1是分布式数据处理系统的图解表示;
图2示出用于实现本发明的说明性硬件环境;
图3是示出本发明实施例的各步骤的流程图;
图4是典型操作系统体系结构的示意图;
图5是操作系统的典型跟踪设施的示意图;以及
图6是示出本发明实施例的各步骤的流程图。
具体实施方式
在下面的描述中,说明了大量具体细节,例如,特定阈值等,以便有助于理解本发明。在其它例子中,省略了一些对全面理解本发明不必要的细节,因为这些细节在相关技术领域内的普通技术人员的知识范围内。通常根据以太网适配器、以太网设备驱动程序以及AIX操作系统,描述在此讨论的实施例和例子。这些实施例和例子在于仅用于说明问题,而无意使权利要求局限于特定类型的网络适配器和特定操作系统环境。
现在,参考图1,图1示出可以实现本发明的分布式数据处理系统的图解表示。分布式数据处理系统100是可以实现本发明的计算机网络。分布式数据处理系统100包括网络102,网络102是用于分布式数据处理系统内100在连接在一起的各种设备与计算机之间提供通信链路的媒体。网络102可以包括:永久连接,例如,线路或者光缆;以及通过电话连接或无线连接进行的临时连接。
在所示的例子中,服务器104与存储单元106一起连接到网络102。此外,客户机108、110以及112也连接到网络102。这些客户机108、110以及112可以是例如个人计算机、打印机或网络计算机。对于本申请,网络计算机可以是连接到网络上的任意计算机,它从连接到该网络的另一个计算机接收程序或其它应用。在所示的例子中,服务器104将诸如引导文件、操作系统图像以及应用的数据送到客户机108-112。客户机108、110和112是服务器104的客户机。分布式数据处理系统100可以包括未示出的附加服务器、客户机以及其它设备。在本发明的实施例中,通过各以太网适配器,客户机108、110和112可以连接到网络102。此外,通过以太网适配器,服务器104也可以连接到网络102,并且网络102可以包括以太网电缆,用于在服务器104与客户机108、110和112之间发送以太网分组。图1是作为一个例子,而不是要限制本发明系统的体系结构。
图2示出用于实现本发明的说明性硬件环境。数据处理系统213可以是例如图1所示的客户机计算机108。现在,参考图2,所示的数据处理系统213的典型硬件配置具有:中央处理单元(CPU),例如,传统的微处理器;以及大量其它单元,通过系统总线212互连。数据处理系统213可以包括:随机存取存储器(RAM)214、只读存储器(ROM)216以及输入/输出(I/O)适配器218,该适配器218用于将诸如磁盘单元220和磁带驱动程序240的外围设备连接到总线212。数据处理系统213可以包括用户接口适配器222,用于将键盘224、鼠标226和/或者其它诸如触摸屏设备的用户接口设备(未示出)连接到总线212。此外,处理系统213可以包括:通信适配器234,用于将数据处理系统213连接到数据处理网络;以及显示适配器236,用于将总线212连接到显示器238。CPU 210可以包括在此未示出的其它电路系统,它们包括通常建立在微处理器内的电路系统,例如,执行单元,总线接口单元、算术逻辑单元等。CPU 210还可以驻留在单个集成电路上。通信适配器234可以是诸如以太网适配器的任何网络适配器。磁盘单元220可以是任何计算机可读介质,并且可以用于存储与本发明有关的网络适配器驱动程序。
诸如AIX的操作系统的跟踪设施(trace facility)用于检测运行的设备驱动程序和系统。跟踪设施获取时间戳系统事件的顺序流,并且可以提供关于系统活动的详细细节。按时间顺序并在其它事件的上下文中显示事件。在展开跟踪事件信息,以理解事件如何以及为什么发生时,该跟踪设施有用。
通过监视选择的系统事件,该跟踪设施可帮助开发人员隔离系统问题。可以监视的事件包括:到选择的子例程、内核例程、内核扩展例程以及中断处理器的入口(entry)和出口(exist)。当跟踪设施活动时,关于这些事件的信息被记录到系统跟踪日志文件或跟踪表中。该跟踪设施包括用于激活并控制跟踪以及产生跟踪报告的命令。应用和内核扩展可以利用几个子例程记录附加事件。AIX内的缺省跟踪文件是/var/adm/ras/trcfile。可以将该跟踪表存储到存储器214的一部分上,存储器214的该部分被内核预留用作内核存储器。
诸如AIX的操作系统设置了许多预定跟踪挂钩标识符。跟踪挂钩标识符(trace hook identifier)还可以被称为事件标识符。在内核系统崩溃转储中,可以存在具有来自许多不同设备驱动程序的跟踪点的系统跟踪表。跟踪挂钩标识符将跟踪点的源(origin)告诉开发人员。跟踪挂钩标识符可以是3位十六进制数,它用于识别正跟踪的事件。对于获取的关于发送分组、接收分组以及其它参数的信息,以太网设备驱动程序可以具有唯一的跟踪挂钩标识符。
AIX操作系统内的“entstat”命令显示规定的以太网设备驱动程序采集的统计数字。Entstat命令的用途包括提供与以太网设备驱动程序和以太网适配器的功能有关的统计数字。开发人员可以利用该统计数字确定联网系统内的潜在问题。利用“entstat”命令可以获得的典型统计数字包括:“Packet”,该设备成功发送的分组的数量;“Byte”,该设备成功发送的字节的数量;“Interrupt”,该驱动程序从适配器接收的发送中断的数量;“Transmit error”,在该设备上遇到的输出错误的数量;“Packets Dropped”,该设备驱动程序为了传输接收的未送到该设备的分组的数量;“Max Packet on S/W Transmit Queue”,曾经排队到软件发送队列中的外出分组的最大数量;“S/W Transmit QueueOverflow”,使软件发送队列溢出的外出分组的数量;“CurrentS/W+H/W Transmit Queue Length”,软件发送队列上的或硬件发送队列上的未决外出分组的数量;“Broadcast Packet”,无差错发送的广播分组的数量;“Multicast Packet”,无差错发送的多播分组的数量;“NoCarrier Sense”,因为没有载波检测错误造成的不成功传输的数量;“DMA Underrun”,因为DMA欠运行错误造成的不成功传输的数量;“Lost CTS Error”,因为丧失清除发送信号错误造成的不成功传输的数量;“Max Collision Error”,因为冲突太多造成的不成功传输的数量;“Late Collision Error”,因为新近的冲突错误造成的不成功传输的数量;“Deferred”,传输期间被延迟的外出分组(在试图发送帧时,适配器必须延迟)的数量;“SQE Test”含有传输期间成功进行的“信号质量错误”测试(即,心跳(Heartbeat))的数量;“Timeout Error”,因为适配器报告超时错误造成的不成功传输的数量;“Single CollisionCount”,在传输期间遇到单个(唯一一个)冲突的外出分组的数量;““Multiple Collision Count”:在传输期间遇到多个冲突的外出分组的数量;“Current HW Transmit Queue Length”,当前存在于硬件发送队列上的外出分组的数量;“CRC Error”,存在校验和(FCS)差错的到来分组的数量;“DMA Overrun”,存在DMA过运行错误的到来分组的数量;“Alignment Error”,存在校准错误的到来分组的数量;“No Resource Error”,因为无资源错误而由硬件丢弃的到来分组的数量;“Receive Collision Error”,接收期间存在冲突错误的到来分组的数量;“Packet Too Short Error”,具有指出该分组大小小于以太网最小分组大小的长度错误的到来分组的数量;“Packet Too Long Error”,具有指出该分组的大小大于以太网最大分组大小的长度错误的到来分组的数量;“Packets Discarded by Adapter”,因为任何其它原因而被硬件丢弃的到来分组的数量;以及“Receiver Start Count”,该适配器上的接收机(接收单元)被启动的次数。
除了这些情况,关于正确功能,还可以监视其它情况。监视这些情况对开发人员提供关于以太网适配器的正确功能的统计数字。然而,以太网设备驱动程序可以自动访问或产生该统计数字,以确定联网系统的正确功能。在确定通过联网系统进行通信的网络适配器的正确功能时,本发明的实施例自动访问这些统计数字。
除了向开发人员提供统计数字外,采用带有“-t”标志的“entstat”命令可以在某些以太网适配器设备驱动程序中打开调试跟踪。在本发明之前,AIX环境下的开发人员可以使用“entstat”命令,人工切换与以太网适配器有关的调试跟踪。本发明的实施例是以太网设备驱动程序,其在检测到以太网适配器或以太网设备驱动程序的一部分上存在不正确功能时自动启用调试跟踪。这种系统向开发人员提供更容易调试问题的信息,而无需人工切换调试跟踪。此外,这种系统使得开发人员不必重新启动系统、启用调试跟踪以及尝试重新产生问题。
图3是示出本发明实施例的各步骤的流程图。在步骤302,启用以太网错误跟踪。在某些操作系统中,根据缺省启用错误跟踪。在步骤304,初始化用于对错误进行计数的变量。在步骤306,监视以太网适配器的功能。在结合AIX操作系统运行的实施例中,以太网适配器驱动程序通过访问entstat命令自动监视功能。在该变换例中,在步骤306,以太网适配器可以通过调用为了访问以太网适配器的功能特性而编写的其它子例程、功能或宏来监视功能。在实施例中,以太网适配器驱动程序可以将观察到的功能与存储的功能特性的数据库进行比较。通过这样做,以太网适配器驱动程序可以确定以太网适配器是否在正常运行。如果在步骤308检测到错误,则在步骤310,该计数器递增。可能触发该系统以递增错误计数器的可能错误的例子是丢弃的链路(dropped link)、发送超时、未要求的(unclaimed)中断、冻结PCI总线或者在此讨论的其它错误。如果错误计数器达到阈值,则在步骤314启用调试跟踪。图3所示的步骤312表示确定是否达到阈值。例如,开发人员可以规定,在25个异常行为实例之后,启用调试跟踪。图3中未示出的另一个步骤是找到(target)可疑问题的跟踪。如果在步骤308未检测到错误,则在步骤322,该计数器递减。这种任选步骤是使开发人员能够利用以太网适配器的正面行为弥补负面行为,以防止对基本上正常运行的系统启用调试跟踪的一种方式。如果在步骤320,计数器到达0或者第二阈值,则在步骤318,禁用调试跟踪,然后,该系统返回步骤306,以进一步监视以太网适配器。如果在步骤320,该计数器不等于0或者小于第二阈值,则在该调试跟踪仍被启用的情况下,该系统继续在步骤306开始监视该行为。
现在,参考图4,简化示意图示出操作系统内核404如何与硬件406和用户级空间(user level space)402交互。内核404可以包括几个子部分,所述子部分包括例如:虚拟文件系统418、设备驱动程序416、存储器管理414。存储器管理414可以执行包括对各进程分配存储区和交换空间区的任务。设备驱动程序416的例子可以包括以太网设备驱动程序。存储器管理414可以负责对本发明使用的跟踪表分配存储器。可以将调试跟踪存储到驻留在存储器424上的跟踪表中。在变换例中,可以将跟踪表和调试跟踪存储到硬盘420,或任何其他计算机可读介质上。在本发明的实施例中,网络适配器特性的数据库可以存储在硬盘420或存储器424上。以太网设备驱动程序416可以监视以太网适配器的功能、访问数据库、将以太网适配器422的功能与存储的以太网适配器特性进行比较,并因此而确定以太网适配器422是否表现正确功能。
在实施例中,通过访问操作系统的跟踪设施,以太网设备驱动程序自动启用调试跟踪。现在,参考图5,图5示出了结合本发明实施例使用的操作系统跟踪设施500。在内核空间518与用户空间520之间划分操作系统。为了使开发人员获取诸如以太网适配器的设备的事件流,开发人员可以激活跟踪512,以获取以太网设备的事件流。内核506可以调用子例程504,以将事件记录到跟踪表502上。跟踪守护程序(trace daemon)514可以访问跟踪表502,并产生跟踪日志文件516。诸如跟踪守护程序514的守护程序可以是用于处理低级操作系统任务,例如访问跟踪表502的任何后台进程。在本发明的实施例中,内核扩展模块522自动访问跟踪表502。内核扩展模块522可以是例如图4中的以太网设备驱动程序416。跟踪表502可以存储在存储器管理414在RAM 214内预留的内核存储器上。
在实施例中,将设备驱动程序检测到的每个错误计数为不正确功能的实例。在另一个实施例中,存储功能参数的数据库,以便以后访问,以确定观测的以太网适配器功能是否可被鉴定为不正确。例如,当设备驱动程序检测到与Timeout有关的错误时,设备驱动程序可以访问具有存储的参数的数据库,以根据超时错误确定不正确功能。在变换实施例中,存储在该数据库中的参数可以用于对不正确功能的实例进行加权或者计分。例如,数据库对“Timeout”错误可以存储权重10。此外,该数据库可以对“No Carrier Sense”错误存储权重20。利用这种加权方法,与Timeout错误相比,No Carrier Sense错误的每个实例均被加倍。利用加权方法,开发人员可以指示设备驱动程序对特定类型的问题分配值。然后,将各错误的加权实例的总和与阈值进行比较。数据库和加权的使用可为开发人员提供一种鲁棒方式来确定不正确的以太网适配器功能。
图6是示出本发明实施例的各步骤的流程图。在步骤602,启用以太网错误跟踪。在某些操作系统中,根据缺省启用错误跟踪。在步骤604,初始化用于对错误进行计数的变量。在步骤606,监视以太网适配器的功能。在结合AIX操作系统运行的实施例中,通过以太网适配器驱动程序自动访问entstat命令,可以监视功能。在该变换例中,在步骤606,通过调用为了访问以太网适配器的功能特性而编写的其它子例程、功能或宏,以太网适配器可以监视功能。在实施例中,以太网适配器驱动程序可以将观察到的功能与存储功能特性的数据库进行比较。通过这样做,以太网适配器驱动程序可以确定以太网适配器是否在正常运行。如果在步骤608检测到错误,则在步骤610,该计数器递增。可能触发该系统递增错误计数器的可能错误的例子是丢弃的链路、发送超时、未要求的中断、冻结PCI总线或者在此讨论的其它错误。如果错误计数器达到阈值,则在步骤614,启用调试跟踪。图6所示的步骤612表示确定是否达到阈值。例如,开发人员可以规定,在25个异常行为实例之后,启用调试跟踪。图6中未示出的另一个步骤是找到可疑问题的跟踪。如果在步骤608未检测到错误,则在步骤622,该计数器递减。这种任选步骤是使开发人员能够利用以太网适配器的正面行为弥补负面行为,以防止对基本上正常运行的系统启用调试跟踪的一种方式。如果在步骤620,计数器到达0或者第二阈值,则在步骤618,禁用调试跟踪,然后,该系统返回步骤606,以进一步监视以太网适配器。如果在步骤620,该计数器不等于0或者小于第二阈值,则在该调试跟踪仍被启用的情况下,该系统继续在步骤606开始监视该行为。
尽管对本发明及其优点进行了详细说明,但是应该明白,在不脱离所附权利要求所限定的本发明实质范围的情况下,可以进行各种修改、替换或者变更。

Claims (20)

1.一种用于检测网络适配器错误的方法,包括步骤:
启用网络适配器错误跟踪;
检测不正确的网络适配器功能;
响应于检测到不正确的网络适配器功能,递增计数器,其中该计数器的计数器值等于该计数器递增的次数减去该计数器递减的次数;
将该计数器值与第一阈值进行比较;以及
如果该计数器值大于第一阈值,则启用调试跟踪。
2.根据权利要求1所述的方法,该方法进一步包括在检测到正确网络适配器功能时递减该计数器的步骤。
3.根据权利要求2所述的方法,该方法进一步包括如果计数器值小于第二阈值,则禁用调试跟踪的步骤。
4.根据权利要求1所述的方法,其中检测不正确网络适配器功能的步骤包括将观测的网络适配器功能与存储的网络适配器功能特性的数据库进行比较。
5.根据权利要求1所述的方法,其中网络适配器是以太网适配器。
6.根据权利要求1所述的方法,该方法进一步包括将调试跟踪记录到跟踪表的步骤。
7.根据权利要求6所述的方法,其中该跟踪表是可操作地连接到网络适配器设备驱动程序的系统跟踪表。
8.根据权利要求1所述的方法,其中启用调试跟踪的步骤由网络适配器驱动程序自动执行。
9.一种网络适配器设备驱动装置,包括:
用于启用错误跟踪的装置;
用于检测不正确的网络适配器功能的装置;
用于响应于检测到不正确的网络适配器功能,递增计数器,其中该计数器的计数器值等于该计数器递增的次数减去该计数器递减的次数的装置;
用于将该计数器值与第一阈值进行比较的装置;以及
用于如果该计数器值大于第一阈值,则启用调试跟踪的装置。
10.根据权利要求9所述的网络适配器设备驱动装置,进一步包括用于在检测到正确网络适配器功能时递减该计数器的装置。
11.根据权利要求10所述的网络适配器设备驱动装置,进一步包括用于如果计数器值小于第二阈值,则禁用调试跟踪的装置。
12.根据权利要求9所述的网络适配器设备驱动装置,其中用于检测不正确的网络适配器功能的装置包括:用于访问存储有已知的网络适配器功能特性的数据库的装置。
13.根据权利要求9所述的网络适配器设备驱动装置,其中网络适配器设备驱动装置可操作地连接到以太网适配器。
14.一种用于自动记录网络适配器的调试跟踪的方法,包括步骤:
检测不正确的网络适配器功能;
响应于检测到不正确的网络适配器功能,递增计数器,其中该计数器的计数器值等于该计数器递增的次数减去该计数器递减的次数;
将该计数器值与第一阈值进行比较;以及
如果该计数器值大于第一阈值,则启用调试跟踪。
15.根据权利要求14所述的方法,其中启用调试跟踪的步骤通过网络适配器驱动程序访问操作系统的跟踪功能自动发生。
16.根据权利要求14所述的方法,其中检测不正确网络适配器功能的步骤包括监视网络适配器功能,并将网络适配器功能与存储的网络适配器功能参数集进行比较。
17.根据权利要求14所述的方法,该方法进一步包括步骤:
检测正确网络功能;以及
在检测到正确网络适配器功能时,递减计数器。
18.根据权利要求14所述的方法,其中网络适配器可操作地连接到网络适配器驱动程序,该网络适配器驱动程序可操作地连接到操作系统,其中操作系统具有用于记录功能信息的跟踪功能,并且其中启用调试跟踪的步骤通过网络适配器驱动程序访问操作系统的跟踪功能自动发生。
19.根据权利要求18所述的方法,其中网络适配器是以太网适配器。
20.根据权利要求19所述的方法,其中操作系统是基于Unix的操作系统。
CNB2005100541107A 2004-06-17 2005-03-04 用于调试以太网的方法和装置 Expired - Fee Related CN100365994C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/870,536 2004-06-17
US10/870,536 US7539932B2 (en) 2004-06-17 2004-06-17 Method and system for debugging Ethernet

Publications (2)

Publication Number Publication Date
CN1710867A CN1710867A (zh) 2005-12-21
CN100365994C true CN100365994C (zh) 2008-01-30

Family

ID=35707053

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100541107A Expired - Fee Related CN100365994C (zh) 2004-06-17 2005-03-04 用于调试以太网的方法和装置

Country Status (2)

Country Link
US (1) US7539932B2 (zh)
CN (1) CN100365994C (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7984220B2 (en) * 2004-09-02 2011-07-19 International Business Machines Corporation Exception tracking
ATE541383T1 (de) * 2005-11-04 2012-01-15 Research In Motion Ltd Korrektur von fehlern in funkkommunikationen in abhängigkeit von der fehlerfrequenz
US8213317B2 (en) * 2005-11-04 2012-07-03 Research In Motion Limited Procedure for correcting errors in radio communication, responsive to error frequency
US7975184B2 (en) * 2006-04-03 2011-07-05 Donald Goff Diagnostic access system
US8369212B2 (en) * 2006-08-29 2013-02-05 Hewlett-Packard Development Company, L.P. Network path validation based on user-specified criteria
US20080276129A1 (en) * 2007-05-02 2008-11-06 International Business Machines Corporation Software tracing
US8601318B2 (en) * 2007-10-26 2013-12-03 International Business Machines Corporation Method, apparatus and computer program product for rule-based directed problem resolution for servers with scalable proactive monitoring
US7904752B2 (en) * 2008-06-03 2011-03-08 International Business Machines Corporation Synchronizing device error information among nodes
US8539453B2 (en) 2010-06-30 2013-09-17 International Business Machines Corporation Autonomic I/O tracing and performance tuning
US10013329B2 (en) 2016-04-28 2018-07-03 International Business Machines Corporation Dynamic tracing using ranking and rating
US20190028407A1 (en) * 2017-07-20 2019-01-24 Hewlett Packard Enterprise Development Lp Quality of service compliance of workloads
FR3088124A1 (fr) 2018-11-06 2020-05-08 Stmicroelectronics (Rousset) Sas Procede d'elaboration de signaux declencheurs pour une commande d'une interface multimedia, et circuit integre correspondant
FR3088125A1 (fr) * 2018-11-06 2020-05-08 Stmicroelectronics (Rousset) Sas Procede de surveillance d'une tache, en particulier une tache graphique, pour un module electronique, en particulier d'interface multimedia, et dispositif correspondant.

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864558A (en) * 1996-06-27 1999-01-26 International Business Machines Corporation Dynamic transmit tuning for ethernet device drivers
WO2000025210A1 (en) * 1998-10-26 2000-05-04 Algorex, Inc. Integrated software development and debug environment
JP2000299696A (ja) * 1999-04-13 2000-10-24 Toshiba Corp ネットワークシステムに於ける異常診断方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5862145A (en) * 1996-09-12 1999-01-19 Advanced Micro Devices, Inc. Method and system for identifying an error condition due to a faulty cable connection in an ethernet network
US5991881A (en) * 1996-11-08 1999-11-23 Harris Corporation Network surveillance system
US6009478A (en) * 1997-11-04 1999-12-28 Adaptec, Inc. File array communications interface for communicating between a host computer and an adapter
US6098179A (en) * 1998-01-22 2000-08-01 Digital Equipment Corporation Method and apparatus for performing error detection
US7054972B2 (en) * 2002-12-13 2006-05-30 Lsi Logic Corporation Apparatus and method for dynamically enabling and disabling interrupt coalescing in data processing system
US7441154B2 (en) * 2003-09-12 2008-10-21 Finisar Corporation Network analysis tool

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864558A (en) * 1996-06-27 1999-01-26 International Business Machines Corporation Dynamic transmit tuning for ethernet device drivers
WO2000025210A1 (en) * 1998-10-26 2000-05-04 Algorex, Inc. Integrated software development and debug environment
JP2000299696A (ja) * 1999-04-13 2000-10-24 Toshiba Corp ネットワークシステムに於ける異常診断方法

Also Published As

Publication number Publication date
CN1710867A (zh) 2005-12-21
US20060036893A1 (en) 2006-02-16
US7539932B2 (en) 2009-05-26

Similar Documents

Publication Publication Date Title
CN100365994C (zh) 用于调试以太网的方法和装置
CA1315008C (en) System permitting peripheral interchangeability
US5644700A (en) Method for operating redundant master I/O controllers
US20040268138A1 (en) Inter integrated circuit bus router
US20050002384A1 (en) Method of transmitting data through an I2C router
GB2403315A (en) System for detecting and resetting a device coupled to an inter-integrated circuit router
CN101286129A (zh) 嵌入式系统调试
CN106502814B (zh) 一种记录pcie设备错误信息的方法及装置
US7398345B2 (en) Inter-integrated circuit bus router for providing increased security
US20040255070A1 (en) Inter-integrated circuit router for supporting independent transmission rates
CN113382056A (zh) 数据上报方法、装置、设备、存储介质及系统
US6584432B1 (en) Remote diagnosis of data processing units
US7457887B1 (en) Method and system for processing asynchronous event notifications
CN101136756B (zh) 网络远程控制主机上电自检的方法、系统和bmc芯片
CN112148537A (zh) 总线监控装置及方法、存储介质、电子装置
GB2403039A (en) Error management system for a I2C router
CN115422099A (zh) 一种通信信息发送方法、装置、电子设备及存储介质
CN110032508B (zh) 功能驱动程序测试方法、装置、终端设备及存储介质
CN111930582A (zh) 系统管理总线检测平台、处理器及系统管理总线检测方法
CN108037942B (zh) 一种嵌入式设备的自适应数据恢复与更新方法及装置
CN100561953C (zh) 一种记录诊断数据的方法
CN113169903A (zh) 同时测试经由通信网络连接的多个电子设备是否正确处理异常
EP0962862B1 (en) Apparatus and method for remote diagnostic of data processing units
US20040255195A1 (en) System and method for analysis of inter-integrated circuit router
CN112769889B (zh) 服务数据的推送方法、装置、存储介质以及电子装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080130