CN108804313A - 一种远程调试程序的方法、装置和服务器 - Google Patents

一种远程调试程序的方法、装置和服务器 Download PDF

Info

Publication number
CN108804313A
CN108804313A CN201810497137.0A CN201810497137A CN108804313A CN 108804313 A CN108804313 A CN 108804313A CN 201810497137 A CN201810497137 A CN 201810497137A CN 108804313 A CN108804313 A CN 108804313A
Authority
CN
China
Prior art keywords
debugging
serial
channel
management module
developing engine
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.)
Granted
Application number
CN201810497137.0A
Other languages
English (en)
Other versions
CN108804313B (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201810497137.0A priority Critical patent/CN108804313B/zh
Publication of CN108804313A publication Critical patent/CN108804313A/zh
Application granted granted Critical
Publication of CN108804313B publication Critical patent/CN108804313B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • G06F9/548Object oriented; Remote method invocation [RMI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种远程调试程序的方法、装置和服务器,该方法包括:将用于调试内核程序(也叫内核)的第一串口映射到集成管理模块上;基于所述集成管理模块将所述第一串口重定向到远端的开发机,形成第一调试通道,以使所述开发机能够通过所述第一调试通道调试所述内核程序;配置调试环境,并在所述调试环境工作正常后,通过所述第一调试通道与所述开发机进行数据交互。该方法实现远程串口方式的kgdb调试机制的内核程序调试,依靠简单的串口轮询方式通信降低了对被调试内核程序的依赖,由于是基于集成管理模块实现远程调试,解决由于串口电气特性带来的目标机和开发机距离近的问题,降低了目标机的环境需求。

Description

一种远程调试程序的方法、装置和服务器
技术领域
本申请涉及计算机程序调试领域,具体涉及一种远程调试程序的方法、装置和服务器。
背景技术
操作系统的内核程序(也叫做内核)是一个操作系统的核心组件,它负责管理系统中的所有进程、调度、存储器、文件、外设驱动程序和网络等系统资源,决定着系统的性能和稳定性。目前在对操作系统的内核程序(也叫做内核)调试时,特别是针对Linux的内核程序时,由于内核的特殊性,常用的kgdb调试机制对以太网的支持并不完善,此外如果被调试的对象涉及了以太网协议或协议栈也不能对内核采取基于远程网络的调试,只能基于串口进行工作,而串口调试由于串口的电气特性必须要求开发者近距离对目标机上的内核程序进行调试,无法通过开发机对目标机上的内核程序进行远程网络方式调试。
发明内容
本申请提供一种远程调试程序的方法、装置和服务器。该方法能够应用在服务器上,并能够解决开发机无法在远程对目标机的内核程序(也叫作内核)进行调试的问题。
为了解决上述技术问题,本申请实施例提供了如下的技术方案:一种远程调试程序的方法,包括:
将用于调试内核程序的第一串口映射到集成管理模块上;
基于所述集成管理模块将所述第一串口重定向到远端的开发机,形成第一调试通道,以使所述开发机能够通过所述第一调试通道调试所述内核程序;
配置调试环境,并在所述调试环境工作正常后,通过所述第一调试通道与所述开发机进行数据交互。
作为优选,所述集成管理模块上建立有所述第一串口对应的映射端口,所述的基于所述集成管理模块将所述第一串口重定向到远端的开发机,形成第一调试通道包括:
基于以太网串口重定向建立所述映射端口与所述开发机的第二串口的数据通信,以将所述第一串口重定向到所述第二串口形成所述第一调试通道,其中所述第一调试通道能够基于以太网进行串口数据的传输。
作为优选,所述的配置调试环境包括:
将被调试的内核程序安装到启动目录下;
将所述内核程序对应的调试文件和所述内核程序的源代码发送至所述开发机,其中所述调试文件包括内核镜像和附加文件。
作为优选,所述的将用于调试内核程序的第一串口映射到集成管理模块上包括:
在所述集成管理模块上建立映射端口,并将所述映射端口与所述第一串口进行数据关联,以利用所述映射端口模拟所述第一串口。
作为优选,所述方法还包括:
设置启动参数,等待所述开发机的连接,并在接收到所述开发机发出的连接命令后,通过所述第一调试通道向其发送所述内核程序对应的调试文件。
本申请实施例还提供了一种远程调试程序的装置,包括映射模块、重定向模块和处理模块;
所述映射模块配置为将用于调试内核程序的第一串口映射到集成管理模块上;
所述重定向模块配置为基于所述集成管理模块将所述第一串口重定向到远端的开发机,形成第一调试通道,以使所述开发机能够通过所述第一调试通道调试所述内核程序;
所述处理模块配置为配置调试环境,并在所述调试环境工作正常后,通过所述第一调试通道与所述开发机进行数据交互。
作为优选,所述集成管理模块上建立有所述第一串口对应的映射端口,所述重定向模块进一步配置为:基于以太网串口重定向建立所述映射端口与所述开发机的第二串口的数据通信,以将所述第一串口重定向到所述第二串口形成所述第一调试通道,其中所述第一调试通道能够基于以太网进行串口数据的传输。
作为优选,所述处理模块进一步配置为:将被调试的内核程序安装到启动目录下;将所述内核程序对应的调试文件和所述内核程序的源代码发送至所述开发机,其中所述调试文件包括内核镜像和附加文件。
作为优选,所述映射模块进一步配置为在所述集成管理模块上建立映射端口,并将所述映射端口与所述第一串口进行数据关联,以利用所述映射端口模拟所述第一串口。
本申请实施例还提供了一种服务器,包括存储器和处理器,所述存储器存储有可执行指令,所述处理器执行所述可执行指令以进行如下步骤:
将用于调试内核程序的第一串口映射到集成管理模块上;
基于所述集成管理模块将所述第一串口重定向到远端的开发机,形成第一调试通道,以使所述开发机能够通过所述第一调试通道调试所述内核程序;
配置调试环境,并在所述调试环境工作正常后,通过所述第一调试通道与所述开发机进行数据交互。
基于上述实施例的公开可以获知,本申请实施例具备如下的有益效果:
实现远程串口方式的kgdb调试机制的内核程序(也叫内核)调试,依靠简单的串口轮询方式通信降低了对被调试内核程序的依赖,由于是基于集成管理模块(IntegratedManagement Module,简称IMM)实现远程调试,解决由于串口电气特性带来的目标机和开发机距离近的问题,降低了目标机的环境需求,此外对于IMM软硬件无需做定制化调整,仅仅依赖于与之相对应的SOL功能。而对于kgdb协议也无需做定制化调整,实现了透明化操作,使kgdb对应的开发机和目标机之间的gdb报文仍然可以使用串口方式调试。
附图说明
图1为本发明实施例的远程调试程序的方法的流程图;
图2为本发明实施例的图1中步骤S3的一个实施例流程图;
图3为本发明实施例的远程调试程序的方法的一个具体实施例的流程图;
图4为本发明实施例的远程调试程序的装置中目标机和开发机的连接关系示意图。
具体实施方式
此处参考附图描述本发明的各种方案以及特征。
应理解的是,可以对此处发明的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本发明的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且与上面给出的对本发明的大致描述以及下面给出的对实施例的详细描述一起用于解释本发明的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本发明的这些和其它特性将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本发明进行了描述,但本领域技术人员能够确定地实现本发明的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。
当结合附图时,鉴于以下详细说明,本发明的上述和其他方面、特征和优势将变得更为显而易见。
此后参照附图描述本发明的具体实施例;然而,应当理解,所发明的实施例仅仅是本发明的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本发明模糊不清。因此,本文所发明的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本发明。
本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本发明的相同或不同实施例中的一个或多个。
本发明实施例的一种远程调试程序的方法,该方法可以应用在目标机上,如对作为目标机的服务器等电子设备上,以对其操作系统的内核程序(也叫作内核)进行调试,由于内核是一个操作系统的核心,是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理基本的系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。因此由于内核程序(内核)的特殊性,内核空间的调试不能像用户空间那样方便高效地进行远程调试,而本方法能够利用服务器等电子设备中的集成管理模块(即集成管理模块可以安装在目标机上),来达到远程调试内核程序的目的。集成管理模块(IMM,Integrated Management Module)是服务器等电子设备中的重要模块,其可以将BMC,SRC,显卡,远程呈现和远程硬盘等功能整合在一个单一的芯片上,用户可以利用其进行远程操作。如图1所示并结合图4,本申请的该方法包括以下步骤:
S1,将用于调试内核程序的第一串口映射到集成管理模块上。用户可以通过第一串口(第一串口终端)对操作系统(如Linux)的内核程序(也叫内核)进行调试,例如使用kgdb调试机制对其进行调试,将第一串口映射到集成管理模块上后,针对第一串口输入或输出的数据能够经由集成管理模块来进行传递,在一个实施例中,第一串口映射到集成管理模块上能够形成一个虚拟第一串口(如随后提及的映射端口),该虚拟第一串口能够利用集成管理模块进行数据的交互,包括以多种数据的传输方式进行串口数据的传输。
S2,基于集成管理模块将第一串口重定向到远端的开发机,形成第一调试通道,以使开发机能够通过第一调试通道调试内核程序。远端的开发机能够在远程对目标机进行内核程序的调试,而开发机可以根据目标机设置调试环境,安装相应的调试工具(如gdb),开发机上可以设有相对应目标机的虚拟端口(如随后提及的第二串口),虚拟端口可以通过集成管理模块与第一串口进行数据连接,使得第一串口能够重定向到开发机,在开发机和目标机之间形成第一调试通道,开发机能够通过第一调试通道调试目标机上的内核程序。在本实施例中第一调试通道可以以多种通信类型出现,第一调试通道的不同部分也可以基于不同的通信方式进行通信,如虚拟端口至集成管理模块对应的第一调试通道的第一部分可以基于以太网或协议栈来传输串口数据,以太网可以进行远距离的数据传输,这使得用户可以使用开发机在远距离对安装有集成管理模块的目标机中的内核程序进行调试;而集成管理模块至第一串口对应的第一调试通道的第二部分可以始终以单一的数据通信方式(如串口通信)来进行串口数据的传输。
S3,配置调试环境,并在调试环境工作正常后,通过第一调试通道与开发机进行数据交互。配置调试环境包括在目标机上安装内核程序,将必要的调试文件发送给开发机,或者编译生成相应的参数以供调试时使用等。当判断调试环境工作正常,目标机机可以向开发机发送连接信号,并等待开发机进行连接和调试工作。而开发机也需要配置调试环境,针对目标机和调试对象进行配置,如跟新内核程序,接收目标机发送的调试文件等,最终对目标机上的内核程序进行调试。如果检测到调试环境不正常,则可以发出提示信息(包括远程提示信息),以便进行修复。
在本申请的一个实施例中,结合图4,集成管理模块上建立有第一串口对应的映射端口,所述的基于集成管理模块将第一串口重定向到远端的开发机,形成第一调试通道包括:基于以太网串口重定向建立映射端口与开发机的第二串口的数据通信,以将第一串口重定向到第二串口形成第一调试通道,其中第一调试通道能够基于以太网进行串口数据的传输。以太网串口重定向(SOL,Serial over Lan)技术可以使得第一调试通道基于以太网的方式进行串口数据的传输,使开发机可以通过第二串口进行串口数据的远距离传输(基于以太网),这使得用户可以利用第二串口实现远距离对目标机上的内核程序进行调试。映射端口与开发机的第二串口的数据通信在客观上实现了第二串口与第一串口的数据通信,为利用第二串口对目标机上的内核程序进行远程调试提供了保障。
在本申请的一个实施例中,如图2所示,所述的配置调试环境的步骤包括以下步骤:
S31,将被调试的内核程序安装到启动目录下。具体的,可以将目标机上编译生成的包含支持kgdb调试机制的内核和initrd镜像安装到启动目录下,以便目标机在启动后能够使开发机对内核程序进行调试。
S32,将内核程序对应的调试文件和内核程序的源代码发送至开发机,其中调试文件包括内核镜像和附加文件。具体的,可以将内核中编译生成的包含符号表的vmlinux文件(内核镜像的一种),待调试的模块ko文件(附加文件的一种),以及内核源代码传送到开发机。
在本申请的一个实施例中,所述的将用于调试内核程序的第一串口映射到集成管理模块上的步骤包括:在集成管理模块上建立映射端口,并将映射端口与第一串口进行数据关联,以利用映射端口模拟第一串口。具体来说,可以将映射端口作为第一串口的虚拟设备,与第一串口进行数据关联,数据关联后对映射端口进行的数据交互等同于对第一串口的数据交互,从而使得对该映射端口的操作可以映射到对第一串口的操作,及映射端口模拟出第一串口。
在本申请的一个实施例中,该方法还包括以下步骤:设置启动参数,等待开发机的连接,并在接收到开发机发出的连接命令后,通过第一调试通道向其发送内核程序对应的调试文件。该启动参数针对内核程序和整个调试环境来设置,当接收到开发机发出的连接命令后发送调试文件,如果没有接受到连接命令则等待,再次发出连接请求或断开连接等操作。而开发机接收调试文件,并根据调试文件启动相应的调试器,如gdb工作核心调试器,来对目标机上的内核程序进行远程调试。
下面结合一个具体的实施例并结合图3来对整个调试方法进行说明。
1)登录目标机上的UEFI界面,确认串口重定向功能打开;
2)在目标机内核的启动参数上添加"console=tty0console=ttyS0,115200n8",以实现把UEFI中第一串口作为内核的终端;
3)启动目标机的操作系统,并在开发机上打开一个命令行终端,利用管理工具,如ipmitool,激活SOL功能并配置波特率,以获取到目标机的第一串口输出;
4)再确认SOL功能在目标机和开发机之间稳定工作后,重新编译目标机内核,编译之前在目标机内核配置界面中打开支持kgdb调试的配置选项;
5)将目标机上编译生成的包含支持kgdb调试的内核和initrd镜像安装到启动目录下,并把内核中编译生成的包含符号表的vmlinux,和待调试的模块ko文件,以及内核源代码传送到开发机;
6)为新编译生成的待调试内核添加参数“kgdboc=ttyS0,115200kgdbwait”;
7)在目标机上启动配置好参数的待调试内核,由于加入了kgdbwait,目标机会停住并等待开发机的连接;
8)在开发机上将通过SOL获取到的目标机输入输出重定向到开发机的第二串口/dev/vttyS0;
9)开发机中输入”gdb vmlinux”,进入gdb后,输入
set remotebaud 115200
target remote/dev/vttyS0
10)开发机连接上目标机,进入runtime调试阶段,可单步,打断点和查看堆栈寄存器等操作。
本申请实施例还提供了一种远程调试程序的装置,结合图4,该装置可以应用在目标机上,如对作为目标机的服务器等电子设备上,以对其操作系统的内核程序(也叫内核)进行调试,由于内核是一个操作系统的核心,是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理基本的系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。因此由于内核程序的特殊性,并不支持普通的远程调试,而本装置能够利用服务器等电子设备中的集成管理模块(即集成管理模块可以安装在目标机上),来达到远程调试内核程序的目的。集成管理模块(IMM,Integrated Management Module)是服务器等电子设备中的重要模块,其可以将BMC,SRC,显卡,远程呈现和远程硬盘等功能整合在一个单一的芯片上,用户可以利用其进行远程操作。该装置包括映射模块、重定向模块和处理模块。
映射模块配置为将用于调试内核程序的第一串口映射到集成管理模块上。用户可以通过第一串口(第一串口终端)对操作系统(如Linux)的内核程序(内核)进行调试,例如使用kgdb调试机制对其进行调试,映射模块将第一串口映射到集成管理模块上后,针对第一串口输入或输出的数据能够经由集成管理模块来进行传递,在一个实施例中,映射模块将第一串口映射到集成管理模块上能够形成一个虚拟第一串口(如随后提及的映射端口),该虚拟第一串口能够利用集成管理模块进行数据的交互,包括以多种数据的传输方式进行串口数据的传输。
重定向模块配置为基于集成管理模块将第一串口重定向到远端的开发机,形成第一调试通道,以使开发机能够通过第一调试通道调试内核程序。远端的开发机能够在远程对目标机进行内核程序的调试,而开发机可以根据目标机设置调试环境,安装相应的调试工具(如gdb),开发机上可以设有相对应目标机的虚拟端口(如随后提及的第二串口),重定向模块使虚拟端口可以通过集成管理模块与第一串口进行数据连接,使得第一串口能够重定向到开发机,在开发机和目标机之间形成第一调试通道,开发机能够通过第一调试通道调试目标机上的内核程序。在本实施例中第一调试通道可以以多种通信类型出现,第一调试通道的不同部分也可以基于不同的通信方式进行通信,如虚拟端口至集成管理模块对应的第一调试通道的第一部分可以基于以太网或协议栈来传输串口数据,以太网可以进行远距离的数据传输,这使得用户可以使用开发机在远距离对安装有集成管理模块的目标机中的内核程序进行调试;而集成管理模块至第一串口对应的第一调试通道的第二部分可以始终以单一的数据通信方式(如串口通信)来进行串口数据的传输。
处理模块配置为配置调试环境,并在调试环境工作正常后,通过第一调试通道与开发机进行数据交互。配置调试环境包括在目标机上安装内核程序,将必要的调试文件发送给开发机,或者编译生成相应的参数以供调试时使用等。当处理模块判断调试环境工作正常,目标机机可以向开发机发送连接信号,并等待开发机进行连接和调试工作。而开发机也需要配置调试环境,针对目标机和调试对象进行配置,如跟新内核程序,接收目标机发送的调试文件等,最终对目标机上的内核程序进行调试。如果处理模块检测到调试环境不正常,则可以发出提示信息(包括远程提示信息),以便进行修复。
在本申请的一个实施例中,集成管理模块上建立有第一串口对应的映射端口,重定向模块进一步配置为:基于以太网串口重定向建立映射端口与开发机的第二串口的数据通信,以将第一串口重定向到第二串口形成第一调试通道,其中第一调试通道能够基于以太网进行串口数据的传输。以太网串口重定向(SOL,Serial over Lan)技术可以使得第一调试通道基于以太网的方式进行串口数据的传输,使开发机可以通过第二串口进行串口数据的远距离传输(基于以太网),这使得用户可以利用第二串口实现远距离对目标机上的内核程序进行调试。映射端口与开发机的第二串口的数据通信在客观上实现了第二串口与第一串口的数据通信,为利用第二串口对目标机上的内核程序进行远程调试提供了保障。
在本申请的一个实施例中,处理模块进一步配置为:将被调试的内核程序安装到启动目录下;将内核程序对应的调试文件和内核程序的源代码发送至开发机,其中调试文件包括内核镜像和附加文件。具体的,处理模块可以将目标机上编译生成的包含支持kgdb调试机制的内核和initrd镜像安装到启动目录下,以便目标机在启动后能够使开发机对内核程序进行调试。处理模块还可以将内核中编译生成的包含符号表的vmlinux文件(内核镜像的一种),待调试的模块ko文件(附加文件的一种),以及内核源代码传送到开发机。
在本申请的一个实施例中,结合图4,映射模块进一步配置为在集成管理模块上建立映射端口,并将映射端口与第一串口进行数据关联,以利用映射端口模拟第一串口。具体来说,映射模块可以将映射端口作为第一串口的虚拟设备,与第一串口进行数据关联,数据关联后对映射端口进行的数据交互等同于对第一串口的数据交互,从而使得对该映射端口的操作可以映射到对第一串口的操作,及映射端口模拟出第一串口。
本申请实施例还提供了一种服务器,结合图1,包括存储器和处理器,存储器存储有可执行指令,处理器执行可执行指令以进行如下步骤:
将用于调试内核程序的第一串口映射到集成管理模块上。用户可以通过第一串口(第一串口终端)对操作系统(如Linux)的内核程序(也叫内核)进行调试,例如使用kgdb调试机制对其进行调试,将第一串口映射到集成管理模块上后,针对第一串口输入或输出的数据能够经由集成管理模块来进行传递,在一个实施例中,第一串口映射到集成管理模块上能够形成一个虚拟第一串口(如随后提及的映射端口),该虚拟第一串口能够利用集成管理模块进行数据的交互,包括以多种数据的传输方式进行串口数据的传输。
基于集成管理模块将第一串口重定向到远端的开发机,形成第一调试通道,以使开发机能够通过第一调试通道调试内核程序。远端的开发机能够在远程对目标机进行内核程序的调试,而开发机可以根据目标机设置调试环境,安装相应的调试工具(如gdb),开发机上可以设有相对应目标机的虚拟端口(如随后提及的第二串口),虚拟端口可以通过集成管理模块与第一串口进行数据连接,使得第一串口能够重定向到开发机,在开发机和目标机之间形成第一调试通道,开发机能够通过第一调试通道调试目标机上的内核程序。在本实施例中第一调试通道可以以多种通信类型出现,第一调试通道的不同部分也可以基于不同的通信方式进行通信,如虚拟端口至集成管理模块对应的第一调试通道的第一部分可以基于以太网或协议栈来传输串口数据,以太网可以进行远距离的数据传输,这使得用户可以使用开发机在远距离对安装有集成管理模块的目标机中的内核程序进行调试;而集成管理模块至第一串口对应的第一调试通道的第二部分可以始终以单一的数据通信方式(如串口通信)来进行串口数据的传输。
配置调试环境,并在调试环境工作正常后,通过第一调试通道与开发机进行数据交互。配置调试环境包括在目标机上安装内核程序,将必要的调试文件发送给开发机,或者编译生成相应的参数以供调试时使用等。当判断调试环境工作正常,目标机机可以向开发机发送连接信号,并等待开发机进行连接和调试工作。而开发机也需要配置调试环境,针对目标机和调试对象进行配置,如跟新内核程序,接收目标机发送的调试文件等,最终对目标机上的内核程序进行调试。如果检测到调试环境不正常,则可以发出提示信息(包括远程提示信息),以便进行修复。
以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。

Claims (10)

1.一种远程调试程序的方法,包括:
将用于调试内核程序的第一串口映射到集成管理模块上;
基于所述集成管理模块将所述第一串口重定向到远端的开发机,形成第一调试通道,以使所述开发机能够通过所述第一调试通道调试所述内核程序;
配置调试环境,并在所述调试环境工作正常后,通过所述第一调试通道与所述开发机进行数据交互。
2.根据权利要求1所述的方法,所述集成管理模块上建立有所述第一串口对应的映射端口,所述的基于所述集成管理模块将所述第一串口重定向到远端的开发机,形成第一调试通道包括:
基于以太网串口重定向建立所述映射端口与所述开发机的第二串口的数据通信,以将所述第一串口重定向到所述第二串口形成所述第一调试通道,其中所述第一调试通道能够基于以太网进行串口数据的传输。
3.根据权利要求1所述的方法,所述的配置调试环境包括:
将被调试的内核程序安装到启动目录下;
将所述内核程序对应的调试文件和所述内核程序的源代码发送至所述开发机,其中所述调试文件包括内核镜像和附加文件。
4.根据权利要求1所述的方法,所述的将用于调试内核程序的第一串口映射到集成管理模块上包括:
在所述集成管理模块上建立映射端口,并将所述映射端口与所述第一串口进行数据关联,以利用所述映射端口模拟所述第一串口。
5.根据权利要求1所述的方法,所述方法还包括:
设置启动参数,等待所述开发机的连接,并在接收到所述开发机发出的连接命令后,通过所述第一调试通道向其发送所述内核程序对应的调试文件。
6.一种远程调试程序的装置,包括映射模块、重定向模块和处理模块;
所述映射模块配置为将用于调试内核程序的第一串口映射到集成管理模块上;
所述重定向模块配置为基于所述集成管理模块将所述第一串口重定向到远端的开发机,形成第一调试通道,以使所述开发机能够通过所述第一调试通道调试所述内核程序;
所述处理模块配置为配置调试环境,并在所述调试环境工作正常后,通过所述第一调试通道与所述开发机进行数据交互。
7.根据权利要求6所述的装置,所述集成管理模块上建立有所述第一串口对应的映射端口,所述重定向模块进一步配置为:基于以太网串口重定向建立所述映射端口与所述开发机的第二串口的数据通信,以将所述第一串口重定向到所述第二串口形成所述第一调试通道,其中所述第一调试通道能够基于以太网进行串口数据的传输。
8.根据权利要求6所述的装置,所述处理模块进一步配置为:将被调试的内核程序安装到启动目录下;将所述内核程序对应的调试文件和所述内核程序的源代码发送至所述开发机,其中所述调试文件包括内核镜像和附加文件。
9.根据权利要求6所述的装置,所述映射模块进一步配置为在所述集成管理模块上建立映射端口,并将所述映射端口与所述第一串口进行数据关联,以利用所述映射端口模拟所述第一串口。
10.一种服务器,包括存储器和处理器,所述存储器存储有可执行指令,所述处理器执行所述可执行指令以进行如下步骤:
将用于调试内核程序的第一串口映射到集成管理模块上;
基于所述集成管理模块将所述第一串口重定向到远端的开发机,形成第一调试通道,以使所述开发机能够通过所述第一调试通道调试所述内核程序;
配置调试环境,并在所述调试环境工作正常后,通过所述第一调试通道与所述开发机进行数据交互。
CN201810497137.0A 2018-05-22 2018-05-22 一种远程调试程序的方法、装置和服务器 Active CN108804313B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810497137.0A CN108804313B (zh) 2018-05-22 2018-05-22 一种远程调试程序的方法、装置和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810497137.0A CN108804313B (zh) 2018-05-22 2018-05-22 一种远程调试程序的方法、装置和服务器

Publications (2)

Publication Number Publication Date
CN108804313A true CN108804313A (zh) 2018-11-13
CN108804313B CN108804313B (zh) 2021-05-18

Family

ID=64092926

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810497137.0A Active CN108804313B (zh) 2018-05-22 2018-05-22 一种远程调试程序的方法、装置和服务器

Country Status (1)

Country Link
CN (1) CN108804313B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110096888A (zh) * 2019-04-18 2019-08-06 苏州浪潮智能科技有限公司 一种加快验证及分析smm安全隐患的方法及系统
CN112256513A (zh) * 2020-10-29 2021-01-22 成都菁蓉联创科技有限公司 一种调试串口和数据串口复用的方法、装置和控制器
CN112631897A (zh) * 2020-12-07 2021-04-09 麒麟软件有限公司 一种快速调试linux内核的方法
CN115102941A (zh) * 2022-07-26 2022-09-23 苏州浪潮智能科技有限公司 一种基于web的服务器远程调试方法、系统、装置及介质
CN115220978A (zh) * 2022-09-19 2022-10-21 瀚博半导体(上海)有限公司 包括在线调试模式的芯片启动方法和装置、芯片和设备

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110096888A (zh) * 2019-04-18 2019-08-06 苏州浪潮智能科技有限公司 一种加快验证及分析smm安全隐患的方法及系统
CN112256513A (zh) * 2020-10-29 2021-01-22 成都菁蓉联创科技有限公司 一种调试串口和数据串口复用的方法、装置和控制器
CN112256513B (zh) * 2020-10-29 2023-10-20 成都菁蓉联创科技有限公司 一种调试串口和数据串口复用的方法、装置和控制器
CN112631897A (zh) * 2020-12-07 2021-04-09 麒麟软件有限公司 一种快速调试linux内核的方法
CN112631897B (zh) * 2020-12-07 2023-08-08 麒麟软件有限公司 一种快速调试linux内核的方法
CN115102941A (zh) * 2022-07-26 2022-09-23 苏州浪潮智能科技有限公司 一种基于web的服务器远程调试方法、系统、装置及介质
CN115102941B (zh) * 2022-07-26 2023-07-18 苏州浪潮智能科技有限公司 一种基于web的服务器远程调试方法、系统、装置及介质
CN115220978A (zh) * 2022-09-19 2022-10-21 瀚博半导体(上海)有限公司 包括在线调试模式的芯片启动方法和装置、芯片和设备

Also Published As

Publication number Publication date
CN108804313B (zh) 2021-05-18

Similar Documents

Publication Publication Date Title
CN108804313A (zh) 一种远程调试程序的方法、装置和服务器
CN106776313B (zh) 一种模拟服务的方法、装置及集中管理平台
US7603444B2 (en) Using description files to configure components in a distributed system
US20020162059A1 (en) Methods and systems for testing communications network components
US20090300180A1 (en) Systems and methods for remote management of networked systems using secure modular platform
US6549882B1 (en) Mechanisms for providing and using a scripting language for flexibly simulationg a plurality of different network protocols
US9348771B1 (en) Cloud-based instrument driver system
KR100881419B1 (ko) Sca 기반 시스템의 애플리케이션 컴포넌트 통신 장치 및방법
US20040254978A1 (en) System and method of remotely accessing a computer system to initiate remote mainteneance and management accesses on network computer systems
US20070043833A1 (en) Computer platform system program remote upgrading control method and system
WO2019019864A1 (zh) 嵌入式自助终端的通信系统、方法及装置
CN111159019B (zh) 一种应用程序的测试方法、测试控制终端以及测试终端
US7191232B2 (en) Extendable provisioning mechanism for a service gateway
US7222313B2 (en) Creating description files used to configure components in a distributed system
US8055700B2 (en) Network test/measurement agent extensible with different types of network interfaces
US20030133136A1 (en) Method for generating and launching application for information processing apparatus and image forming apparatus
CN117041111A (zh) 车云功能测试方法、装置、电子设备及存储介质
US7016800B1 (en) Centralized console API testing architecture
US8806435B2 (en) Remote logging mechanism
CN111858433A (zh) 一种基于ssh串口重定向的方法、系统、设备及介质
CN111240855A (zh) Api调试系统、方法、存储介质和计算机设备
KR20040002624A (ko) 실시간 미들웨어 구성을 위한 멀티 프로토콜 연동 장치 및그 방법
Kanemaru et al. Design and Implementation of Comprehensive Test Automation Method for API Adapter in C-Plane and U-Plane
Dinda The minet tcp/ip stack
KR100275513B1 (ko) 교차 디버깅을 위한 디버그 서버를 동적으로 자동 구동시키는 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant