基于虚拟文件系统的进程调试方法、装置和计算机设备制造方法及图纸

技术编号:20621901 阅读:19 留言:0更新日期:2019-03-20 14:08
本发明专利技术公开了一种基于虚拟文件系统的进程调试方法、装置和计算机设备,所述方法包括步骤:A、调用调试接口创建proc文件,并创建该文件的进程的调试函数;B、保存所述进程的相关信息;C、对所述进程的文件描述符表进行修改;D、用户进程获取串口终端的所述进程的文件描述符,并通过所述文件描述符向终端输出信息,解决了linux系统自带的debugfs调试系统只能用于内核开发,比如常见的驱动开发,而不能实现对于linux的应用开发,网络开发,android开发等非内核开发的问题,以达到用户进程的调试信息直接显示在调试终端,而避免了调试信息由用户进程到内核再到调试终端这一繁琐过程,加快了调试信息的显示。

Process Debugging Method, Device and Computer Equipment Based on Virtual File System

The invention discloses a process debugging method, device and computer equipment based on virtual file system, which includes steps: A, calling debugging interface to create proc file, and creating debugging function of the process of the file; B, saving relevant information of the process; C, modifying the file descriptor table of the process; D, where the user process obtains serial terminal; The file descriptor of the process is described, and the information is output to the terminal through the file descriptor. The debugfs debugging system of the Linux system can only be used for the development of the kernel, such as the common driver development, but can not realize the development of the Linux application, network development, Android development and other non-kernel development problems, so that the debugging information of the user process can be displayed directly in the debugging. The terminal avoids the tedious process of debugging information from user process to kernel and then to debugging terminal, and speeds up the display of debugging information.

【技术实现步骤摘要】
基于虚拟文件系统的进程调试方法、装置和计算机设备
本专利技术涉及计算机
,尤其涉及的是一种基于虚拟文件系统的进程调试方法、装置和计算机设备。
技术介绍
目前的对用户进程进行的调试技术是linux系统自带的debugfs调试系统,它通过在内核态调用相关函数创建虚拟文件和变量进行绑定,开发人员通过简单的‘cat+文件’指令就可以读取变量的值出来,再通过‘echo+文件’指令轻松完成对变量的赋值。但是,debugfs调试系统是linux专门给内核开发调试用的,所以debugfs只能用于内核开发,比如常见的驱动开发,对于linux的应用开发,网络开发,android开发等非内核开发debugfs则无能为力。因此,现有技术还有待于改进和发展。
技术实现思路
基于此,有必要针对上述技术问题,提供一种基于虚拟文件系统的进程调试方法、装置和计算机设备,旨在解决linux系统自带的debugfs调试系统只能用于内核开发,比如常见的驱动开发,而不能实现对于linux的应用开发,网络开发,android开发等非内核开发的问题,以达到用户进程的调试信息直接显示在调试终端,而避免了调试信息由用户进程到内核再到调试终端这一繁琐过程,加快了调试信息的显示。一种基于虚拟文件系统的进程调试方法,包括步骤:A、调用调试接口创建proc文件,并创建该文件的进程的调试函数;B、保存所述进程的相关信息;C、对所述进程的文件描述符表进行修改;D、用户进程获取串口终端的所述进程的文件描述符,并通过所述文件描述符向终端输出信息。在其中一个实施例中,所述方法还包括步骤:A0、预先设置调试接口,所述调试接口至少包括以下其中一种:对于纯linux开发,所述调试接口为c和c++调试接口;对于android开发,所述调试接口为java调试接口。在其中一个实施例中,所述相关信息至少包括以下其中一种:回调函数地址,进程的文件描述符,对象的地址,以及从虚拟文件传递给进程的相关指令。在其中一个实施例中,所述方法还包括步骤:E、用户进程关闭文件描述符,并通知进程退出。在其中一个实施例中,所述步骤A之后还包括步骤:A1、挂起当前读写proc文件的进程,当调试信息打印完成,解挂该进程。在其中一个实施例中,所述步骤C具体包括:C1、用户进程获取串口终端的文件描述符;C2、将当前串口的文件描述符提取出来,并整合到用户进程里面;C3、向用户进程发送SIGIO信号,通知用户进程将输出信息写到文件描述符上。在其中一个实施例中,所述C2具体包括:当使用cat/echo指令,或者write/read函数操作节点文件时,通过工具将当前串口的文件描述符提取出来,其后整合到用户进程里面。在其中一个实施例中,所述cat读取虚拟文件时,将调试信息显示在终端上,所述echo把参数写进虚拟文件时,调试函数接收参数,并根据参数对变量就行修改。一种基于虚拟文件系统的进程调试装置,所述装置包括:驱动模块,用于完成对proc虚拟文件的管理,以及创建该文件的进程的调试函数,挂起当前读写虚拟文件的进程,并保存进程的相关信息,当调试信息打印完成,解挂该进程,并进行进程间文件描述符的传递。库函数模块,用于封装所述驱动模块的相关功能,提供给上层调用。在其中一个实施例中,所述相关信息至少包括以下其中一种:回调函数地址,进程的文件描述符,对象的地址,以及从虚拟文件传递给进程的相关指令。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:A、调用调试接口创建proc文件,并创建该文件的进程的调试函数;B、保存所述进程的相关信息;C、对所述进程的文件描述符表进行修改;D、用户进程获取串口终端的所述进程的文件描述符,并通过所述文件描述符向终端输出信息。上述基于虚拟文件系统的进程调试方法、装置和计算机设备,所述方法包括步骤:A、调用调试接口创建proc文件,并创建该文件的进程的调试函数;B、保存所述进程的相关信息;C、对所述进程的文件描述符表进行修改;D、用户进程获取串口终端的所述进程的文件描述符,并通过所述文件描述符向终端输出信息,解决了linux系统自带的debugfs调试系统只能用于内核开发,比如常见的驱动开发,而不能实现对于linux的应用开发,网络开发,android开发等非内核开发的问题,以达到用户进程的调试信息直接显示在调试终端,而避免了调试信息由用户进程到内核再到调试终端这一繁琐过程,加快了调试信息的显示。附图说明图1为一个实施例中一种基于虚拟文件系统的进程调试方法的流程示意图;图2为一个实施例中创建/删除虚拟文件的流程示意图;图3为一个实施例中传递文件描述符的流程示意图;图4为一个实施例中进程处理SIGIO信号的流程示意图;图5为一个实施例中基于虚拟文件系统的进程调试装置的结构框图;图6为一个实施例中对虚拟文件进行cat/acho的流程示意图;图7为一个实施例中计算机设备的内部结构图。具体实施方式为使本专利技术的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本申请提供的一种基于虚拟文件系统的进程调试方法,可以应用于终端中。其中,终端可以但不限于是各种个人计算机、笔记本电脑、手机、平板电脑、车载电脑和便携式可穿戴设备。本专利技术的终端采用多核处理器。其中,终端的处理器可以为中央处理器(CentralProcessingUnit,CPU),图形处理器(GraphicsProcessingUnit,GPU)、视频处理单元(VideoProcessingUnit,VPU)等中的至少一种。在一个实施例中,如图1所示,提供了一种基于虚拟文件系统的进程调试方法,以该方法应用于上述终端为例进行说明,包括以下步骤:S100、预先设置调试接口;具体地,所述调试接口至少包括以下其中一种:对于纯linux开发,所述调试接口为c和c++调试接口;对于android开发,所述调试接口为java调试接口。S110、调用调试接口创建proc文件,并创建该文件的进程的调试函数;具体地,当proc虚拟文件被读写时,触发回调创建该文件的进程的调试函数,并把回调函数(调试函数)地址传递给该接口。S120、挂起当前读写proc文件的进程,当调试信息打印完成,解挂该进程;S130、保存所述进程的相关信息;具体地,所述相关信息至少包括以下其中一种:回调函数地址,进程的文件描述符,对象的地址,以及从虚拟文件传递给进程的相关指令等。S140、对所述进程的文件描述符表进行修改;具体地,将当前串口的文件描述符提取出来,并整合到用户进程里面,向用户进程发送SIGIO信号,通知用户进程将输出信息写到文件描述符上。S150、用户进程获取串口终端的所述进程的文件描述符,并通过所述文件描述符向终端输出信息;具体地,用户进程获取串口终端的文件描述符,当用户进程把信息写到文件描述符上时,所述用户进程通过所述文件描述符向终端输出信息。S160、用户进程关闭文件描述符,并通知进程退出。进一步地,当使用cat/echo指令,或者write/read函数操作节点文件时,通过工具将当前串口的fd(文件描述符)提取出来,其后本文档来自技高网...

【技术保护点】
1.一种基于虚拟文件系统的进程调试方法,其特征在于,包括步骤:A、调用调试接口创建proc文件,并创建该文件的进程的调试函数;B、保存所述进程的相关信息;C、对所述进程的文件描述符表进行修改;D、用户进程获取串口终端的所述进程的文件描述符,并通过所述文件描述符向终端输出信息。

【技术特征摘要】
1.一种基于虚拟文件系统的进程调试方法,其特征在于,包括步骤:A、调用调试接口创建proc文件,并创建该文件的进程的调试函数;B、保存所述进程的相关信息;C、对所述进程的文件描述符表进行修改;D、用户进程获取串口终端的所述进程的文件描述符,并通过所述文件描述符向终端输出信息。2.如权利要求1所述的基于虚拟文件系统的进程调试方法,其特征在于,所述方法还包括步骤:A0、预先设置调试接口,所述调试接口至少包括以下其中一种:对于纯linux开发,所述调试接口为c和c++调试接口;对于android开发,所述调试接口为java调试接口。3.如权利要求1所述的基于虚拟文件系统的进程调试方法,其特征在于,所述相关信息至少包括以下其中一种:回调函数地址,进程的文件描述符,对象的地址,以及从proc文件传递给所述进程的相关指令。4.如权利要求1所述的基于虚拟文件系统的进程调试方法,其特征在于,所述方法还包括步骤:E、用户进程关闭所述文件描述符,并通知所述进程退出。5.如权利要求1所述的基于虚拟文件系统的进程调试方法,其特征在于,所述步骤A之后还包括步骤:A1、挂起当前读写proc文件的进程,当调试信息打印完成,解挂该进程。6.如权利要求1所述的基于虚拟文件系统的进程调试方法,其特征在于,所述步骤C具体包括:C1、用户进程获取串口终端的文件...

【专利技术属性】
技术研发人员:程泉森
申请(专利权)人:深圳康佳电子科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1