CN105573910B - 受保护系统的应用程序调试方法及智能终端 - Google Patents

受保护系统的应用程序调试方法及智能终端 Download PDF

Info

Publication number
CN105573910B
CN105573910B CN201510918535.1A CN201510918535A CN105573910B CN 105573910 B CN105573910 B CN 105573910B CN 201510918535 A CN201510918535 A CN 201510918535A CN 105573910 B CN105573910 B CN 105573910B
Authority
CN
China
Prior art keywords
debugger
application program
pid
manager
identification
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
Application number
CN201510918535.1A
Other languages
English (en)
Other versions
CN105573910A (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.)
Yuanxin Information Technology Group Co ltd
Original Assignee
Yuanxin Technology
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 Yuanxin Technology filed Critical Yuanxin Technology
Priority to CN201510918535.1A priority Critical patent/CN105573910B/zh
Publication of CN105573910A publication Critical patent/CN105573910A/zh
Application granted granted Critical
Publication of CN105573910B publication Critical patent/CN105573910B/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/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

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

Abstract

本发明实施例提供了受保护系统的应用程序调试方法及智能终端,所述方法包括:智能终端中的进程管理器接收到延时启动命令后,为所述延时启动命令涉及的应用程序分配进程,并存储所述进程的进程标识;所述智能终端中的调试器接收到进程连接命令后,根据其中携带的所述进程标识的存储位置或所述进程标识,连接所述进程,以准备调试所述进程中的应用程序;所述进程管理器在所延时启动命令所指示的延时时间到达前,暂缓启动所述进程,以等待所述调试器连接所述进程;当所述延时时间到达时,启动所述进程,以使得所述调试器调试所述进程中的应用程序。利用本发明的实施例,可以对应用程序进行全程调试。

Description

受保护系统的应用程序调试方法及智能终端
技术领域
本发明涉及计算机技术领域,具体而言,本发明涉及一种受保护系统的应用程序调试方法及智能终端。
背景技术
在我国,智能手机、平板电脑等智能终端已经广泛普及。数目众多的智能终端安装了基于Linux的操作系统。
技术人员通常通过调试器,例如GDB(Gnu’s not unix DeBugger,非unix调试器),调试应用于基于Linux的操作系统的应用程序。
传统的应用程序的调试方法包括:在应用程序运行之前,根据应用程序的名称来启动应用程序并进行调试;在应用程序运行过程中,根据应用程序的进程的进程标识来调试该进程。
随着智能终端的安全问题日益频发,为了提升智能终端的安全性,一种选择是在智能终端中安装安全性较高的操作系统作为受保护系统。例如,包含安全策略的操作系统。受保护系统可以根据安全策略对应用程序进行管理控制。
由于,现有的调试器无法根据应用程序的名称来调试受保护系统中的应用程序。
因此,目前一种受保护系统中的应用程序调试方法,通常包括:通过进程管理器,例如名为invoker(启动器)的进程管理器,来启动应用程序的进程;调试器查找出运行中的该应用程序的进程的进程标识,根据查找出的进程标识来调试该进程。
然而,本发明的发明人发现,现有的调试方法中,调试器需要查找出进程标识后才能对进程进行调试;对于应用程序的进程而言,从其启动到其进程标识被查找到的期间,调试器是无法对该进程进行调试的;也就是说,现有的调试方法无法对应用程序的运行全过程进行全程调试。
综上,现有的应用程序的调试方法具有对应用程序无法全程调试的缺陷。
因此,有必要提供一种受保护系统的应用程序调试方法及智能终端,可以对应用程序进行全程调试。
发明内容
本发明针对现有的应用程序调试方式的缺点,提出一种受保护系统的应用程序调试方法及智能终端,用以解决现有技术存在对应用程序无法全程调试的问题。
本发明的实施例根据一个方面,提供了一种受保护系统的应用程序调试方法,包括:
智能终端中的进程管理器接收到延时启动命令后,为所述延时启动命令涉及的应用程序分配进程,并存储所述进程的进程标识;
所述智能终端中的调试器接收到进程连接命令后,根据其中携带的所述进程标识的存储位置或所述进程标识,连接所述进程,以准备调试所述进程中的应用程序;
所述进程管理器在所延时启动命令所指示的延时时间到达前,暂缓启动所述进程,以等待所述调试器连接所述进程;当所述延时时间到达时,启动所述进程,以使得所述调试器调试所述进程中的应用程序。
本发明的实施例根据另一个方面,还提供了一种智能终端,包括:进程管理器和调试器;
所述进程管理器,用于接收到延时启动命令后,为所述延时启动命令涉及的应用程序分配进程,并存储所述进程的进程标识;并在所延时启动命令所指示的延时时间到达前,暂缓启动所述进程,以等待所述调试器连接所述进程;当所述延时时间到达时,启动所述进程,以使得所述调试器调试所述进程中的应用程序;
调试器,用于接收到进程连接命令后,根据其中携带的所述进程标识的存储位置或所述进程标识,连接所述进程,以准备调试所述进程中的应用程序。
本发明的实施例中,对于智能终端的受保护系统中的应用程序,可以由进程管理器为应用程序分配进程、存储进程标识,并延时启动进程,以等待调试器连接到该应用程序的进程;合理地设置延时时间,使得调试器根据进程标识或者进程标识的存储位置连接到上述进程,即调试器完成调试应用程序的准备后,进程管理器再启动进程。从而使得调试器可以对应用程序启动、运行到退出的全过程进行调试。
而且,本发明的实施例中,调试器可以根据接收的进程连接命令,自动获取进程标识,与现有的人工查找进程标识相比,大大提升了进程标识的获取效率,进而提升了应用程序的整个调试过程的效率。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例的智能终端的内部结构的框架示意图;
图2为本发明实施例的受保护系统的应用程序调试方法的流程示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本发明的实施例中,对于在受保护系统中应用的应用程序,可以由进程管理器为应用程序分配进程,存储进程标识,但不立即启动进程而是进入延时状态,以等待调试器连接到该应用程序的进程;合理地设置延时时间,使得调试器根据进程标识或者进程标识的存储位置连接到上述分配的进程,即调试器完成调试该进程的应用程序的准备后,进程管理器再启动进程。使得调试器可以对应用程序启动、运行到退出的全过程进行调试。
而且,本发明的实施例中,调试器可以根据接收的进程连接命令,自动获取进程标识,与现有的人工查找进程标识相比,大大提升了进程标识的获取效率,进而提升了整个调试过程的效率。
因此,本发明的实施例可以更加高效地对应用程序进行全程调试。
下面结合附图具体介绍本发明实施例的技术方案。
本发明实施例的应用场景,是对需要在智能终端中的受保护系统下安装运行的应用程序进行调试。
本发明实施例中的受保护系统可以是传统意义上的Linux操作系统或Unix操作系统。受保护系统也可以是基于Linux操作系统衍生出来的操作系统;例如,Android(安卓)系统、基于SELinux模块的操作系统、基于Linux Container虚拟化技术实现的隔离系统。
本发明实施例中的智能终端可以是智能手机、平板电脑等终端设备;该智能终端的内部结构的框架示意图,如图1所示,包括:进程管理器101和调试器102。
其中,进程管理器101主要用于为应用程序分配进程、重定向输入输出、存储进程标识等,具体功能将在后续进行详细介绍,此处不再赘述。
调试器102主要用于对应用程序的进程进行调试,具体功能将在后续进行详细介绍,此处不再赘述。
较佳地,如图1所示,本发明实施例中的智能终端还包括:调试启动器103和命令处理器104。
其中,调试启动器103用于根据调试员输入的指令,输出相关命令;命令处理器104用于将调试启动器103输出的命令,转发至进程管理器101或调试器102;调试启动器103和命令处理器104的具体功能都将在后续进行详细介绍,此处不再赘述。
基于上述进程管理器101和调试器102,本发明实施例提供了一种受保护系统的应用程序调试方法,包括:智能终端中的进程管理器101接收到延时启动命令后,为延时启动命令涉及的应用程序分配进程,并存储进程的进程标识;智能终端中的调试器102接收到进程连接命令后,根据其中携带的进程标识的存储位置或进程标识,连接进程;进程管理器在所延时启动命令所指示的延时时间到达时,启动进程。由于调试器102连接进程在先,进程启动在后,因此调试器102可以对应用程序的进程进行全程调试。
较佳地,基于上述包含调试启动器103和命令处理器104的智能终端,本发明实施例的受保护系统的应用程序调试方法的流程示意图如图2所示,包括如下步骤:
S201:调试启动器103接收到调试员输入的调试指令后,输出延时启动命令到智能终端中的命令处理器104。
具体地,调试启动器103可以通过人机交互界面,直接接收调试员输入的调试指令;也可以接收到调试员输入的记载有调试指令的文件后,从文件中获取调试指令。记载有调试指令的文件可以是脚本文件。
调试启动器103从接收或获取的调试指令中,解析出应用程序的名称、进程管理器名称、以及进程延迟启动的延迟时间等参数信息。
调试启动器103将解析出的应用程序的名称、进程管理器名称、以及进程延迟启动的延迟时间等参数信息携带于延时启动命令中后,将该延迟启动命令输出到智能终端中的命令处理器104。
较佳地,延时启动命令可以包括多个命令行。例如,命令行invoker delay_timeapplication_name;该命令行中invoker(启动器)表示进程管理器名称,delay_time表示进程延迟启动的延迟时间,application_name表示应用程序的名称。
较佳地,调试启动器103可以从调试指令中,解析出应用程序的名称、进程管理器名称、进程延迟启动的延迟时间、以及开关参数;将解析出的应用程序的名称、进程管理器名称、进程延迟启动的延迟时间、以及开关参数都携带于延时启动命令中后,将该延迟启动命令输出到智能终端中的命令处理器104。
S202:命令处理器104接收到延时启动命令后,通过识别出其中的关键字涉及进程管理器101,将延时启动命令转发至进程管理器101。
具体地,命令处理器104接收到延时启动命令后,从接收到的延时启动命令中解析出应用程序的名称、进程管理器名称、以及进程延迟启动的延迟时间等参数信息。
命令处理器104将解析出的进程管理器名称作为关键字,根据该关键字进行查询,从本智能终端中查询出名称与该关键字相一致的进程管理器作为该关键字涉及进程管理器101。
较佳地,进程管理器101可以是名为invoker的进程管理器。
命令处理器104启动进程管理器101,将接收的延时启动命令转发至进程管理器101。
S203:智能终端中的进程管理器101接收到延时启动命令后,为该延时启动命令涉及的应用程序分配进程,并存储所分配的进程的进程标识。
具体地,进程管理器101获取延迟启动命令中携带的应用程序的名称。例如,进程管理器101接收到延时启动命令后,从中解析出应用程序的名称。
进程管理器101获取应用程序的名称后,为该应用程序分配进程。
较佳地,进程管理器101从延时启动命令中解析出应用程序的名称和开关参数后,从智能终端中已经运行的应用程序的实例中查找该名称的应用程序的实例,若查找不到该名称的应用程序的实例,则确定智能终端中不存在已运行的该名称的应用程序的实例,即确定该应用程序未运行;之后,进程管理器101为该应用程序分配进程。
例如,进程管理器101获取应用程序的名称并确定该应用程序未运行后,创建一个进程用于运行该应用程序。
再如,进程管理器101获取应用程序的名称并确定该应用程序未运行后,从现存的进程中选择一个空闲的进程用于运行该应用程序。
进程管理器101从延时启动命令中解析出应用程序的名称和开关参数后,从智能终端中已经运行的应用程序的实例中查找该名称的应用程序的实例,若查找到该名称的应用程序的实例,则确定该应用程序已运行,可以根据预设的开关参数涉及的规则,对运行该应用程序的进程进行结束、重新启动或暂停等操作。
进程管理器101为应用程序分配进程,并存储所分配的进程的进程标识。较佳地,进程管理器101在为应用程序分配进程的过程中,获取所分配的进程的进程标识并进行存储;或者,进程管理器101对运行应用程序的进程进行结束、重新启动或暂停等操作后,获取该进程的进程标识并进行存储。
较佳地,进程管理器101将为应用程序所分配的进程的进程标识,存储到指定文件中,并记录指定文件的存放路径和进程标识在指定文件中的位置。
例如,指定文件的存放路径可以是/tmp/app_id;该存放路径中app_id表示指定文件的文件名。
更优的,由于进程通常将从其标准输入文件中得到输入数据,将正常输出数据输出到其标准输出文件,而将错误信息输送到标准错误文件中。进程管理器101存储所分配的进程的进程标识后,根据指定的进程通信机制,例如socket套接字通信机制,可以将运行本进程管理器101的进程(即进程管理器101所在进程)的标准输入(STDIN)文件重定向到为应用程序分配的进程,
例如,进程管理器101根据socket通信机制,向为应用程序分配的进程发送输入重定向请求,获得应用程序的进程针对该请求的允许信息后,将应用程序的进程的标准输入的文件描述符(File Descriptor),重定向到进程管理器101所在进程的标准输入文件。
此时,应用程序可以从进程管理器101的标准输入文件中,直接获取或接收到进程管理器101所接收的命令,便于应用程序接收其进程外部的命令,例如多种调试命令等,便于在后续调试应用程序。
进一步,进程管理器101存储所分配的进程的进程标识后,根据指定的进程通信机制,可以将为应用程序分配的进程的标准输出(STDOUT)和标准错误(STDERR)文件,重定向到进程管理器101所在进程。
例如,进程管理器101根据socket通信机制,向为应用程序分配的进程发送输出重定向请求,获得应用程序的进程针对该请求的允许信息后,将应用程序的进程的标准输出、标准错误的文件描述符,分别重定向到进程管理器101所在进程的标准输出文件、标准错误文件。
当后续应用程序启动运行时,进程管理器101可以从本进程的标准输出文件、标准错误文件中,分别直接获取应用程序正常运行或调试的输出信息、出错信息,进程管理器101可以将包含应用程序调试结果的输出信息和/或出错信息输出,例如虚拟打印并显示到显示设备上,便于进程管理器101或者调试员在后续调试应用程序的过程中,监控调试信息。
S204:调试启动器103输出进程连接命令到命令处理器104。
具体地,调试启动器103直接获取上述步骤S203中存储的、为应用程序分配的进程的进程标识;根据获取的进程标识、以及本智能终端中预设的调试器的名称,生成进程连接命令。
较佳地,进程连接命令中可以包括多个命令行。例如,命令行gdb attachapplication_pid;该命令行中gdb表示调试器的名称,attach表示连接,application_pid表示应用程序的进程的进程标识。
较佳地,调试启动器103获取上述步骤S203中涉及的进程标识的存储位置,包括指定文件的存放路径、以及进程标识在指定文件中的位置;根据获取的进程标识的存储位置、以及本智能终端中预设的调试器的名称,生成进程连接命令。
例如进程连接命令中的命令行可以包括gdb attach`cat/tmp/app_id`,该命令行中/tmp/app_id表示指定文件的存放路径。
调试启动器103将生成的进程连接命令输出到命令处理器104。
S205:命令处理器104接收到进程连接命令后,通过识别出其中的关键字涉及调试器102,启动调试器102,并将进程连接命令转发至调试器102。
具体地,命令处理器104接收到进程连接命令后,从中解析出调试器的名称作为关键字,根据该关键字进行查询,从本智能终端中查询出名称与该关键字相一致的调试器作为该关键字涉及调试器102。
较佳地,调试器102可以是GDB(Gnu’s not unix DeBugger,非unix调试器)。
命令处理器104启动调试器102,将接收的进程连接命令转发至调试器102。
S206:智能终端中的调试器102接收到进程连接命令后,根据其中携带的进程标识的存储位置或进程标识,连接进程,以准备调试所述进程中的应用程序。
具体地,调试器102根据进程连接命令中携带的进程标识的存储位置,获取进程标识;根据获取的进程标识连接对应进程。
较佳地,调试器102接收到进程连接命令后,从中解析出指定文件的存放路径和进程标识在指定文件中的位置;根据解析出的存放路径查找出指定文件,进而根据解析出的进程标识在指定文件中的位置,从查找出的指定文件中获取为应用程序分配的进程的进程标识。之后,调试器102根据获取的进程标识,连接该进程标识对应的进程,即连接为应用程序分配的进程。
或者,调试器102直接根据进程连接命令中携带的进程标识,连接该进程标识所对应的进程。
较佳地,调试器102接收到进程连接命令后,从中解析出进程标识;根据解析出的进程标识,连接该进程标识对应的进程,即连接为应用程序分配的进程。
调试器102连接进程后,可以根据调试员的预先或实时的设置,随时启动对进程中的应用程序的调试;此时可以认为调试器102已经完成调试进程中的应用程序的准备工作。
S207:进程管理器101在延时启动命令所指示的延时时间到达前,暂缓启动上述为应用程序所分配的进程,以等待调试器102连接该进程;当该延时时间到达时,启动该进程,以使得调试器102调试该进程中的应用程序。
具体地,进程管理器101根据上述步骤S201中携带于延时启动命令中的进程延迟启动的延迟时间,进行计时;当计时结果表明该延迟时间未到达时,进程管理器101暂缓启动上述步骤S203中为应用程序所分配的进程,以等待上述步骤S206中调试器102连接该进程以完成调试进程的准备。
可以理解,本步骤中进程管理器101暂缓启动进程的过程,与上述步骤S206在时间上是存在交叠的。
例如,对于本步骤中进程管理器101暂缓启动进程的过程、以及上述步骤S206这两个过程而言,该两个过程可以同时开始,也可以一个过程在先开始而另一个过程在后开始;该两个过程可以同时结束,也可以上述步骤S206在先结束而本步骤中进程管理器101暂缓启动进程的过程在后结束。
当计时结果表明延时启动命令中的延迟时间到达时,进程管理器101启动上述步骤S203中为应用程序所分配的进程,该进程启动后开始运行应用程序;进程管理器101在启动进程的同时,调试器102可以开始调试该进程中的应用程序。
较佳地,进程管理器101启动进程的方法具体可以是调用该进程中的应用程序的主函数。
可以理解,调试员预先将延时启动命令中的延迟时间设置得较为合理,利用上述步骤S201-步骤S207的方法,可以使得上述步骤S206中调试器102连接为应用程序分配的进程成功的同时,使得上述步骤S207中进程管理器101启动该进程;即调试器102调试进程中的应用程序的准备工作,与应用程序的启动几乎在同一时刻完成。此时调试器102可以对进程中包括启动阶段在内的应用程序的运行全过程进行调试。其中,较为合理的延迟时间可以通过经验数据或者实验等来确定。
优选地,为了保证调试器102可以更加可靠地对应用程序的启动阶段进行调试,调试员预先将延时启动命令中的延迟时间设置得更为合理,利用上述步骤S201-步骤S207的方法,可以使得上述步骤S206中调试器102连接为应用程序分配的进程在先,即调试器102完成调试进程中的应用程序的准备工作在先,而上述步骤S207中进程启动运行在后。因此,调试器102可以对进程中包括启动阶段在内的应用程序的运行全过程进行调试。
更优的,当被调试的应用程序退出或终止(例如正常退出、异常终止或错误终止)时,进程管理器101可以从上述步骤S203中已经重定向的标准输入、输出和错误文件中,获取最后的错误日志信息,并从获取的信息中解析出应用程序的退出状态代码,将退出状态代码转发至调试启动器103并展示给调试员,从而可以帮助调试员分析应用程序的运行状态。
事实上,进程管理器101可以运行多个实例以调试多个应用程序,多个进程管理器101的实例之间互相独立。从而多个调试启动器103可以分别启动同一智能终端中的多个进程管理器101的实例,用于对该智能终端中的多个应用程序同时进行调试,大大缩短了调试多个应用程序需要花费的调试时间,整体上提升了应用程序的调试效率。
事实上,上述步骤S201-S203所耗费的时间是可以预设或确定的。例如,通过实验来确定该时间。而且,进程标识的存储位置,包括指定文件及其存放路径都是可以在步骤S201之前设定的。
因此,更优的,调试器启动器103可以输出一个复合命令。该复合命令包括:延时启动命令、进程连接命令,以及依次输出延时启动命令、进程连接命令之间的延迟时间。使得调试器启动器103输出该复合命令的执行效果,等同于上述步骤S201和S204的效果总和。
例如,调试器启动器103输出复合命令中可以包括命令行invoker delay_timeapplication_name;sleep 1;gdb attach`cat/tmp/app_id`。该命令行中invoker delay_time application_name表示延时启动命令,gdb attach `cat/tmp/app_id`表示进程连接命令,sleep 1表示依次输出延时启动命令、进程连接命令之间的延迟时间。
本发明的实施例中,对于智能终端的受保护系统中的应用程序,可以由进程管理器为应用程序分配进程、存储进程标识,并延时启动进程,以等待调试器连接到该应用程序的进程;合理地设置延时时间,使得调试器根据进程标识或者进程标识的存储位置连接到上述进程,即调试器完成调试应用程序的准备后,进程管理器再启动进程。从而使得调试器可以对应用程序启动、运行到退出的全过程进行调试。
而且,本发明的实施例中,调试器可以根据接收的进程连接命令,自动获取进程标识,与现有的人工查找进程标识相比,大大提升了进程标识的获取效率,进而提升了应用程序的整个调试过程的效率。
进一步,本发明的实施例中,进程管理器所在进程的标准输入文件可以重定向至应用程序的进程,使得应用程序可以直接获取到进程管理器接收到的多种运行或者调试命令,省略了进程管理器向应用程序传输这些命令的步骤,更加便于调试应用程序,提升了调试效率。而且,应用程序的进程的标准输出和错误文件可以重定向到进程管理器所在进程,省略了应用程序将其调试结果的信息向进程管理器传输的步骤,更加便于调试应用程序,提升了调试效率。
此外,本发明的实施例支持多个进程管理器的实例,对本智能终端中的多个应用程序同时进行调试,大大缩短了调试多个应用程序需要花费的调试时间,整体上提升了应用程序的调试效率。
本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically ErasableProgrammable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种受保护系统的应用程序调试方法,其特征在于,包括:
智能终端中的进程管理器接收到延时启动命令后,为所述延时启动命令涉及的应用程序分配进程,并存储所述进程的进程标识;
所述智能终端中的调试器接收到进程连接命令后,根据其中携带的所述进程标识的存储位置或所述进程标识,连接所述进程,以准备调试所述进程中的应用程序;
所述进程管理器在所延时启动命令所指示的延时时间到达前,暂缓启动所述进程,以等待所述调试器连接所述进程;当所述延时时间到达时,启动所述进程,以使得所述调试器调试所述进程中的应用程序。
2.根据权利要求1所述的方法,其特征在于,在所述智能终端中的进程管理器接收到延时启动命令之前,还包括:
所述智能终端中的调试启动器接收到调试员输入的调试指令后,输出延时启动命令到所述智能终端中的命令处理器;
所述命令处理器接收到所述延时启动命令后,通过识别出其中的关键字涉及所述进程管理器,将所述延时启动命令转发至所述进程管理器。
3.根据权利要求2所述的方法,其特征在于,在所述智能终端中的调试器接收到进程连接命令之前,还包括:
所述调试启动器输出所述进程连接命令到所述命令处理器;
所述命令处理器接收到所述进程连接命令后,通过识别出其中的关键字涉及所述调试器,启动所述调试器,并将所述进程连接命令转发至所述调试器。
4.根据权利要求1-3任一所述的方法,其特征在于,所述为所述延时启动命令涉及的应用程序分配进程,具体包括:
所述进程管理器获取所述延时启动命令中携带的应用程序的名称,为所述名称所指示的应用程序分配进程。
5.根据权利要求1-3任一所述的方法,其特征在于,所述根据其中携带的所述进程标识的存储位置或所述进程标识,连接所述进程,具体包括:
所述调试器根据所述进程连接命令中携带的所述进程标识的存储位置,获取所述进程标识;根据获取的进程标识连接对应进程;或者
所述调试器直接根据所述进程连接命令中携带的所述进程标识,连接该进程标识所对应的进程。
6.一种智能终端,其特征在于,包括:进程管理器和调试器;
所述进程管理器,用于接收到延时启动命令后,为所述延时启动命令涉及的应用程序分配进程,并存储所述进程的进程标识;并在所延时启动命令所指示的延时时间到达前,暂缓启动所述进程,以等待所述调试器连接所述进程;当所述延时时间到达时,启动所述进程,以使得所述调试器调试所述进程中的应用程序;
所述调试器,用于接收到进程连接命令后,根据其中携带的所述进程标识的存储位置或所述进程标识,连接所述进程,以准备调试所述进程中的应用程序。
7.根据权利要求6所述的智能终端,其特征在于,还包括:
调试启动器,用于接收到调试员输入的调试指令后,输出延时启动命令;
命令处理器,用于接收到所述调试启动器输出的延时启动命令后,通过识别出其中的关键字涉及所述进程管理器,将所述延时启动命令转发至所述进程管理器。
8.根据权利要求7所述的智能终端,其特征在于,
所述调试启动器还用于输出所述进程连接命令;以及
所述命令处理器还用于接收到所述调试启动器输出的进程连接命令后,通过识别出其中的关键字涉及所述调试器,启动所述调试器,并将所述进程连接命令转发至所述调试器。
9.根据权利要求6-8任一所述的智能终端,其特征在于,
所述进程管理器具体用于获取所述延时启动命令中携带的应用程序的名称,为所述名称所指示的应用程序分配进程。
10.根据权利要求6-8任一所述的智能终端,其特征在于,
所述调试器具体用于根据所述进程连接命令中携带的所述进程标识的存储位置,获取所述进程标识;根据获取的进程标识连接对应进程;或者,直接根据所述进程连接命令中携带的所述进程标识,连接该进程标识所对应的进程。
CN201510918535.1A 2015-12-11 2015-12-11 受保护系统的应用程序调试方法及智能终端 Active CN105573910B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510918535.1A CN105573910B (zh) 2015-12-11 2015-12-11 受保护系统的应用程序调试方法及智能终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510918535.1A CN105573910B (zh) 2015-12-11 2015-12-11 受保护系统的应用程序调试方法及智能终端

Publications (2)

Publication Number Publication Date
CN105573910A CN105573910A (zh) 2016-05-11
CN105573910B true CN105573910B (zh) 2018-06-19

Family

ID=55884074

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510918535.1A Active CN105573910B (zh) 2015-12-11 2015-12-11 受保护系统的应用程序调试方法及智能终端

Country Status (1)

Country Link
CN (1) CN105573910B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107783825B (zh) * 2016-08-25 2021-03-19 展讯通信(天津)有限公司 移动终端多后台进程启动方法、装置及移动终端
CN106445762A (zh) * 2016-08-29 2017-02-22 广州视源电子科技股份有限公司 整机设备调试方法和系统
CN106502913B (zh) * 2016-11-29 2019-02-15 北京元心科技有限公司 调试双系统移动终端的方法及装置
CN111831544A (zh) * 2019-08-13 2020-10-27 北京嘀嘀无限科技发展有限公司 应用程序的调试方法、装置、设备及存储介质
CN112799902B (zh) * 2019-11-14 2024-10-18 云丁网络技术(北京)有限公司 日志输出重定向方法、装置及相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102495802A (zh) * 2011-12-26 2012-06-13 华为技术有限公司 测试软件系统的方法和装置以及计算机系统
CN103729288A (zh) * 2013-11-01 2014-04-16 华中科技大学 一种嵌入式多核环境下应用程序的调试方法
CN104503905A (zh) * 2014-12-15 2015-04-08 北京兆易创新科技股份有限公司 一种嵌入式系统的调试方法及调试系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5700009B2 (ja) * 2012-09-18 2015-04-15 横河電機株式会社 フォールトトレラントシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102495802A (zh) * 2011-12-26 2012-06-13 华为技术有限公司 测试软件系统的方法和装置以及计算机系统
CN103729288A (zh) * 2013-11-01 2014-04-16 华中科技大学 一种嵌入式多核环境下应用程序的调试方法
CN104503905A (zh) * 2014-12-15 2015-04-08 北京兆易创新科技股份有限公司 一种嵌入式系统的调试方法及调试系统

Also Published As

Publication number Publication date
CN105573910A (zh) 2016-05-11

Similar Documents

Publication Publication Date Title
CN105573910B (zh) 受保护系统的应用程序调试方法及智能终端
US11294714B2 (en) Method and apparatus for scheduling task, device and medium
CN110162345B (zh) 一种应用程序访问方法、装置和存储介质
CN108399132B (zh) 一种调度测试方法、装置及存储介质
CN105184153B (zh) 智能终端及其基于多级容器的应用程序运行方法
CN106888233B (zh) 数据更新系统及方法
CN106201811B (zh) 应用程序的故障恢复方法和终端
US8996645B2 (en) Transmitting data by means of storage area network
CN104506643A (zh) 分布式存储系统的服务器及服务器之间的数据同步方法
EP2807556A1 (en) Application installation
CN113485962B (zh) 日志文件的存储方法、装置、设备和存储介质
CN109951553B (zh) 数据处理方法、系统、电子设备以及计算机可读存储介质
US20150379105A1 (en) Transaction completion in a synchronous replication environment
CN110990346A (zh) 基于区块链的文件数据处理方法、装置、设备及存储介质
JP6195465B2 (ja) 同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理
CN116028122A (zh) 基于处理器的设备处理方法及设备
CN106997313B (zh) 一种应用程序的信号处理方法、系统及终端设备
CN111611479A (zh) 用于网络资源推荐的数据处理方法及相关装置
CN106484569B (zh) 多系统数据备份以及数据恢复的方法及系统
CN110445874B (zh) 一种会话处理方法、装置、设备和存储介质
US7010650B2 (en) Multiple data management method, computer and storage device therefor
CN103488549B (zh) 多镜像数据的回滚处理系统和回滚处理方法
CN112231409B (zh) 数据库同步的初始化装载方法、装置、设备和存储介质
CN111782373B (zh) 作业调度方法及装置
CN108959063A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210128

Address after: 101300 room 153, 1 / F, building 17, 16 Caixiang East Road, Nancai Town, Shunyi District, Beijing

Patentee after: Yuanxin Information Technology Group Co.,Ltd.

Address before: 100176 room 2222, building D, building 33, 99 Kechuang 14th Street, Beijing Economic and Technological Development Zone, Beijing

Patentee before: BEIJING YUANXIN SCIENCE & TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20160511

Assignee: Beijing Yuanxin Junsheng Technology Co.,Ltd.

Assignor: Yuanxin Information Technology Group Co.,Ltd.

Contract record no.: X2021110000018

Denomination of invention: Application debugging method and intelligent terminal of protected system

Granted publication date: 20180619

License type: Common License

Record date: 20210531

EE01 Entry into force of recordation of patent licensing contract