CN108804313B - 一种远程调试程序的方法、装置和服务器 - Google Patents
一种远程调试程序的方法、装置和服务器 Download PDFInfo
- Publication number
- CN108804313B CN108804313B CN201810497137.0A CN201810497137A CN108804313B CN 108804313 B CN108804313 B CN 108804313B CN 201810497137 A CN201810497137 A CN 201810497137A CN 108804313 B CN108804313 B CN 108804313B
- Authority
- CN
- China
- Prior art keywords
- debugging
- serial port
- port
- development machine
- mapping
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000011161 development Methods 0.000 claims abstract description 112
- 238000013507 mapping Methods 0.000 claims abstract description 64
- 238000004891 communication Methods 0.000 claims abstract description 25
- 230000003993 interaction Effects 0.000 claims abstract description 14
- 238000012545 processing Methods 0.000 claims description 13
- 230000007246 mechanism Effects 0.000 abstract description 8
- 230000007613 environmental effect Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008439 repair process Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
- G06F9/548—Object 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 (8)
1.一种远程调试程序的方法,包括:
将用于调试内核程序的第一串口映射到集成管理模块上;
基于所述集成管理模块将所述第一串口重定向到远端的开发机,形成第一调试通道,以使所述开发机能够通过所述第一调试通道调试所述内核程序;
配置调试环境,并在所述调试环境工作正常后,通过所述第一调试通道与所述开发机进行数据交互;其中,
所述集成管理模块上建立有所述第一串口对应的映射端口,所述的基于所述集成管理模块将所述第一串口重定向到远端的开发机,形成第一调试通道包括:
基于以太网串口重定向建立所述映射端口与所述开发机的第二串口的数据通信,以将所述第一串口重定向到所述第二串口形成所述第一调试通道,其中所述第一调试通道能够基于以太网进行串口数据的传输。
2.根据权利要求1所述的方法,所述的配置调试环境包括:
将被调试的内核程序安装到启动目录下;
将所述内核程序对应的调试文件和所述内核程序的源代码发送至所述开发机,其中所述调试文件包括内核镜像和附加文件。
3.根据权利要求1所述的方法,所述的将用于调试内核程序的第一串口映射到集成管理模块上包括:
在所述集成管理模块上建立映射端口,并将所述映射端口与所述第一串口进行数据关联,以利用所述映射端口模拟所述第一串口。
4.根据权利要求1所述的方法,所述方法还包括:
设置启动参数,等待所述开发机的连接,并在接收到所述开发机发出的连接命令后,通过所述第一调试通道向其发送所述内核程序对应的调试文件。
5.一种远程调试程序的装置,包括映射模块、重定向模块和处理模块;
所述映射模块配置为将用于调试内核程序的第一串口映射到集成管理模块上;
所述重定向模块配置为基于所述集成管理模块将所述第一串口重定向到远端的开发机,形成第一调试通道,以使所述开发机能够通过所述第一调试通道调试所述内核程序;
所述处理模块配置为配置调试环境,并在所述调试环境工作正常后,通过所述第一调试通道与所述开发机进行数据交互;其中,
所述集成管理模块上建立有所述第一串口对应的映射端口,所述重定向模块进一步配置为:基于以太网串口重定向建立所述映射端口与所述开发机的第二串口的数据通信,以将所述第一串口重定向到所述第二串口形成所述第一调试通道,其中所述第一调试通道能够基于以太网进行串口数据的传输。
6.根据权利要求5所述的装置,所述处理模块进一步配置为:将被调试的内核程序安装到启动目录下;将所述内核程序对应的调试文件和所述内核程序的源代码发送至所述开发机,其中所述调试文件包括内核镜像和附加文件。
7.根据权利要求5所述的装置,所述映射模块进一步配置为在所述集成管理模块上建立映射端口,并将所述映射端口与所述第一串口进行数据关联,以利用所述映射端口模拟所述第一串口。
8.一种服务器,包括存储器和处理器,所述存储器存储有可执行指令,所述处理器执行所述可执行指令以进行如下步骤:
将用于调试内核程序的第一串口映射到集成管理模块上;
基于所述集成管理模块将所述第一串口重定向到远端的开发机,形成第一调试通道,以使所述开发机能够通过所述第一调试通道调试所述内核程序;
配置调试环境,并在所述调试环境工作正常后,通过所述第一调试通道与所述开发机进行数据交互;其中,
所述集成管理模块上建立有所述第一串口对应的映射端口,所述的基于所述集成管理模块将所述第一串口重定向到远端的开发机,形成第一调试通道包括:
基于以太网串口重定向建立所述映射端口与所述开发机的第二串口的数据通信,以将所述第一串口重定向到所述第二串口形成所述第一调试通道,其中所述第一调试通道能够基于以太网进行串口数据的传输。
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 CN108804313A (zh) | 2018-11-13 |
CN108804313B true 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) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096888B (zh) * | 2019-04-18 | 2021-02-09 | 苏州浪潮智能科技有限公司 | 一种加快验证及分析smm安全隐患的方法及系统 |
CN112256513B (zh) * | 2020-10-29 | 2023-10-20 | 成都菁蓉联创科技有限公司 | 一种调试串口和数据串口复用的方法、装置和控制器 |
CN112631897B (zh) * | 2020-12-07 | 2023-08-08 | 麒麟软件有限公司 | 一种快速调试linux内核的方法 |
CN115102941B (zh) * | 2022-07-26 | 2023-07-18 | 苏州浪潮智能科技有限公司 | 一种基于web的服务器远程调试方法、系统、装置及介质 |
CN115220978B (zh) * | 2022-09-19 | 2023-02-03 | 瀚博半导体(上海)有限公司 | 包括在线调试模式的芯片启动方法和装置、芯片和设备 |
-
2018
- 2018-05-22 CN CN201810497137.0A patent/CN108804313B/zh active Active
Non-Patent Citations (2)
Title |
---|
"DELL R730 idDRAC与IPMI的使用";唐门问心;《CSDN博客 公开网址:https://blog.csdn.net/satsuma_samurai/article/details/74940145?locationNum=6&fps=1》;20170711;第1-10页 * |
"深度解析KGDB调试Linux模块和内核";Hardy晗狄;《CSDN博客 公开网址:https://blog.csdn.net/swingwang/article/details/72331196》;20170516;第1-14页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108804313A (zh) | 2018-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108804313B (zh) | 一种远程调试程序的方法、装置和服务器 | |
US7334162B1 (en) | Dynamic distribution of test execution | |
US7603444B2 (en) | Using description files to configure components in a distributed system | |
US9348771B1 (en) | Cloud-based instrument driver system | |
CN106919485B (zh) | 一种基于服务器上配置硬件测试工具的系统 | |
WO2019019864A1 (zh) | 嵌入式自助终端的通信系统、方法及装置 | |
CN111159019B (zh) | 一种应用程序的测试方法、测试控制终端以及测试终端 | |
CN116681013B (zh) | 网络芯片的仿真验证方法、平台、装置、设备及介质 | |
CN110018956B (zh) | 应用调试方法及相关装置 | |
EP2922267A1 (en) | Method for achieving communication based on mbim interface and device therefor | |
CN113709243B (zh) | 设备远程控制方法及装置、电子设备和存储介质 | |
CN113886153B (zh) | 一种基于容器的网卡压力测试方法及装置 | |
EP2015190B1 (en) | Technique of controlling communication of installed apparatus with outside by means of proxy server | |
CN113468067A (zh) | 应用程序的调试方法、装置、电子设备和计算机可读介质 | |
CN108234174B (zh) | 虚拟网络功能的管理方法和装置 | |
US6467041B1 (en) | Third party host packet replication | |
CN117407065A (zh) | 网卡预启动控制方法、装置、设备、系统及存储介质 | |
CN112162919A (zh) | 车载设备的调试方法、调试系统及计算机可读存储介质 | |
CN116112412A (zh) | 一种虚拟网卡绑定冗余功能测试方法、系统、装置及介质 | |
US6957179B2 (en) | On-chip emulator communication | |
CN112416509B (zh) | 虚拟机控制系统及相关设备 | |
CN111708568B (zh) | 一种组件化开发解耦方法及终端 | |
CN111858433A (zh) | 一种基于ssh串口重定向的方法、系统、设备及介质 | |
CN112799641A (zh) | 扩展软件开发包的方法、装置、电子设备及存储介质 | |
CN112433938A (zh) | 移动端应用测试的方法和装置 |
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 |