[发明专利]基于虚拟文件系统的进程调试方法、装置和计算机设备有效
申请号: | 201811256818.4 | 申请日: | 2018-10-26 |
公开(公告)号: | CN109491759B | 公开(公告)日: | 2020-11-03 |
发明(设计)人: | 程泉森 | 申请(专利权)人: | 深圳康佳电子科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 深圳市君胜知识产权代理事务所(普通合伙) 44268 | 代理人: | 王永文;刘文求 |
地址: | 518000 广东省深圳市南山区粤*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 虚拟 文件系统 进程 调试 方法 装置 计算机 设备 | ||
本发明公开了一种基于虚拟文件系统的进程调试方法、装置和计算机设备,所述方法包括步骤:A、调用调试接口创建proc文件,并创建该文件的进程的调试函数;B、保存所述进程的相关信息;C、对所述进程的文件描述符表进行修改;D、用户进程获取串口终端的所述进程的文件描述符,并通过所述文件描述符向终端输出信息,解决了linux系统自带的debugfs调试系统只能用于内核开发,比如常见的驱动开发,而不能实现对于linux的应用开发,网络开发,android开发等非内核开发的问题,以达到用户进程的调试信息直接显示在调试终端,而避免了调试信息由用户进程到内核再到调试终端这一繁琐过程,加快了调试信息的显示。
技术领域
本发明涉及计算机技术领域,尤其涉及的是一种基于虚拟文件系统的进程调试方法、装置和计算机设备。
背景技术
目前的对用户进程进行的调试技术是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函数操作节点文件时,通过工具将当前串口的文件描述符提取出来,其后整合到用户进程里面。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳康佳电子科技有限公司,未经深圳康佳电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811256818.4/2.html,转载请声明来源钻瓜专利网。