CN103034577A - 一种定位关机慢的方法及装置 - Google Patents
一种定位关机慢的方法及装置 Download PDFInfo
- Publication number
- CN103034577A CN103034577A CN2011102999416A CN201110299941A CN103034577A CN 103034577 A CN103034577 A CN 103034577A CN 2011102999416 A CN2011102999416 A CN 2011102999416A CN 201110299941 A CN201110299941 A CN 201110299941A CN 103034577 A CN103034577 A CN 103034577A
- Authority
- CN
- China
- Prior art keywords
- shutdown
- thread
- operating system
- kernel
- progress information
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种定位关机慢的方法及装置。该方法包括:监测到关机,触发驱动程序调用内核应用编程接口驱动设备注册关机消息通知函数为驱动设备注册关机回调;在接收到输入输出请求包信息后,记录操作***进程信息,并调用内核应用编程接口写文件函数将记录的操作***进程信息写入到预先设置的磁盘文件中;开机获取记录操作***进程信息的磁盘文件,分析并定位导致关机慢的进程信息。应用本发明,可以获知导致关机慢的因素,从而进行有针对性的优化,降低关机时间。
Description
技术领域
本发明涉及计算机通信技术,特别涉及一种定位关机慢的方法及装置。
背景技术
随着计算机通信技术的发展,客户端上安装的应用软件也越来越多,在每次关机时,客户端需要对运行的应用软件进行注销,并保存用户配置文件,因此,需要消耗一定的时间,从而导致客户端的关机速度变慢,例如,当用户配置文件较长,在关机时没有及时得到释放,或者,测试开发的应用软件,或者,客户端上的某些硬件设备的驱动程序安装不完全或存在问题,或者,当后台应用软件在关机时正处于运行状态,***结束这些程序进程需要时间,或者,后台在结束某个应用程序时,出现错误,使***进程陷入死循环,而***默认的强行结束死循环的时间较长,或者,浏览器在使用后将部分DLL文件在缓存内存中,使得内存被不用的DLL文件占用。上述情形都可能导致客户端关机时间过长,占用用户时间,从而降低用户体验。
目前,还没有提出一种方法,能够在关机时,从上述影响关机的诸多因素中,通过定位客户端关机速度变慢的因素,从而对影响关机的一个或多个因素进行有针对性的优化,以降低***关机时间。
发明内容
有鉴于此,本发明的主要目的在于提出一种定位关机慢的方法,能够获知导致关机慢的因素,从而进行有针对性的优化,降低关机时间。
本发明的另一目的在于提出一种定位关机慢的装置,能够获知导致关机慢的因素,从而进行有针对性的优化,降低关机时间。
为达到上述目的,本发明提供了一种定位关机慢的方法,该方法包括:
监测到关机,触发驱动程序调用内核应用编程接口驱动设备注册关机消息通知函数为驱动设备注册关机回调;
在接收到输入输出请求包信息后,记录操作***进程信息,并调用内核应用编程接口写文件函数将记录的操作***进程信息写入到预先设置的磁盘文件中;
开机获取记录操作***进程信息的磁盘文件,分析并定位导致关机慢的进程信息。
所述驱动程序调用内核应用编程接口驱动设备注册关机消息通知函数为驱动设备注册关机回调包括:
驱动程序通过调用驱动设备创建函数创建驱动设备对应的设备对象;
利用创建的设备对象作为参数,调用内核应用编程接口驱动设备注册关机消息通知函数。
所述输入输出请求包的主功能码为关机消息通知。
在调用所述内核应用编程接口写文件函数时,进一步包括:
调用初始化文件属性函数初始化文件句柄中的文件属性结构,并设置文件属性结构中属性值为内核文件句柄。
所述操作***进程信息包括:进程数、进程的线程数、进程的线程信息、进程的创建时间、内核时间、用户时间以及进程读写磁盘次数。
所述线程信息包括:线程的堆栈、线程的所在模块、线程的创建时间、内核时间、用户时间以及等待原因。
通过调用***信息查询函数传入类型***进程及线程信息获取所述进程数、进程的创建时间、进程内核时间、进程的线程数、线程的创建时间以及线程内核时间。
通过调用内核堆栈函数中的当前线程的内核堆栈指针获取所述线程的堆栈信息。
所述调用内核应用编程接口写文件函数将记录的操作***进程信息写入到预先设置的磁盘文件中包括:
记录操作***进程信息;
记录每个进程下的线程信息;
调用内核应用编程接口写文件函数,将获取的进程信息以及线程信息写到预先设置的磁盘文件。
一种定位关机慢的装置,该装置包括:关机回调模块、操作***进程信息获取模块、存储模块以及定位分析模块,其中,
关机回调模块,用于在监测到关机,触发驱动程序调用内核应用编程接口驱动设备注册关机消息通知函数为驱动设备注册关机回调;
操作***进程信息获取模块,用于在接收到输入输出请求包信息后,记录操作***进程信息,并调用内核应用编程接口写文件函数将记录的操作***进程信息输出至存储模块进行存储;
定位分析模块,用于在开机后获取存储模块中记录操作***进程信息的磁盘文件,分析并定位导致关机慢的进程信息。
由上述的技术方案可见,本发明提供的一种定位关机慢的方法及装置,监测到关机,触发驱动程序调用内核应用编程接口驱动设备注册关机消息通知函数为驱动设备注册关机回调;在接收到输入输出请求包信息后,记录操作***进程信息,并调用内核应用编程接口写文件函数将记录的操作***进程信息写入到预先设置的磁盘文件中;开机获取记录操作***进程信息的磁盘文件,分析并定位导致关机慢的进程信息。这样,通过注册关机回调,在关机时将操作***进程信息记录到磁盘文件中,在下次开机后,获取记录的磁盘文件并进行分析,从而获知导致***关机慢的原因,并有针对性地进行优化,可以降低后续关机时间。
附图说明
图1为本发明实施例定位关机慢的方法流程示意图。
图2为本发明实施例定位关机慢的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
本发明实施例中,通过注册关机回调,在关机时将进程、线程、堆栈等信息记录到预先设置的磁盘文件中,使得下次开机后,通过获取记录的磁盘文件,从而获知上次关机时***进程的相关信息,并通过分析关机时记录的***进程相关信息,获取耗时长的***进程,得出导致***关机慢的原因,从而有针对性地进行优化。例如,当开发的应用软件在测试时发现影响了***的关机速度,而应用软件所运行的环境没有机会去调试时,可以通过本发明实施例的方法来进行简单的调试,在没调试环境的情况下,通过记录关机时***进程的相关信息来定位关机慢的原因。
图1为本发明实施例定位关机慢的方法流程示意图。参见图1,该流程包括:
步骤101,监测到关机,触发驱动程序调用内核应用编程接口(API,Application Program Interface)IoRegisterShutdownNotification函数为驱动设备注册关机回调;
实际应用中,在每个客户端的函数库中,都设置有内核应用编程接口驱动设备注册关机消息通知(API IoRegisterShutdownNotification)函数或API IoRegisterLastChance ShutdownNotification函数,用于为各驱动设备注册关机消息通知,本发明实施例中,考虑通过调用API IoRegisterShutdownNotification函数为驱动设备注册关机回调,以触发关机时将进程、线程、堆栈等信息记录到预先设置的磁盘文件中,这样,可以获取关机时各进程的相关信息。
关于API IoRegisterShutdownNotification函数以及IoRegisterLastChanceShutdownNotification函数的具体介绍,可参见相关技术文献,在此不再赘述。
当操作***监测到用户点击关机控件时,确定用户执行关机流程,从而触发注册关机回调。
驱动程序调用内核API IoRegisterShutdownNotification函数为驱动设备注册关机回调包括:
A11、驱动程序通过调用驱动设备创建(IoCreateDevice)函数创建驱动设备对应的设备对象;
本步骤中,设备对象用于驱动程序与操作***之间的通信。
A12、利用创建的设备对象作为参数,调用内核API IoRegisterShutdownNotification函数。
本步骤中,通过利用创建的设备对象作为参数,调用内核API IoRegisterShutdownNotification函数,为各驱动设备注册了关机回调。这样,在监测到关机时,操作***向创建的设备对象发送一个主功能码为IRP MJ SHUTDOWN的输入输出请求包(IRP,I/O Request Package)的关机消息通知,设备对象接收IRP包,从而获知操作***正在关机。
步骤102,在接收到输入输出请求包信息后,记录操作***进程信息,并调用内核API ZwWriteFile函数将记录的操作***进程信息写入到预先设置的磁盘文件中;
本步骤中,在驱动程序通过调用内核API IoRegisterShutdownNotification函数为驱动设备注册关机回调后,如果创建的设备对象接收到IRP包信息,表明操作***正在执行关机,从而触发记录操作***进程信息。
本发明实施例中,在调用内核API ZwWriteFile函数,即内核应用编程接口写文件函数将记录的操作***进程信息写入到预先设置的磁盘文件的过程中,API需要获取相应磁盘文件的文件句柄,由于文件句柄是与进程相关的,即在哪个进程的上下文中打开文件句柄,则得到的文件句柄只能在该进程的上下文中使用。而本发明实施例中,由于关机时与正常运行时进程运行的上下文不同,关机时回调的进程可能运行在任意上下文中,使得打开的文件句柄可能会变得无效,基于此,提出的解决办法是在打开磁盘文件时,加上文件句柄属性OBJ_KERNEL_HANDLE,即在调用API ZwCreateFile函数时,传入一个类型为OBJECT_ATTRIBUTES的参数,该参数结构体中,有一个成员(OBJ_KERNEL_HANDLE)是表示文件句柄属性的,这样,在调用API ZwCreateFile函数时,通过调用初始化文件属性(InitializeObjectAttributes)函数初始化文件句柄中的文件属性(OBJECT_ATTRIBUTES)结构,并设置OBJECT_ATTRIBUTES结构中属性(ATTRIBUTES)值为内核文件句柄(OBJ_KERNEL_HANDLE),可以使得打开后的文件句柄是一个内核文件句柄,从而使得该内核文件句柄不能被应用程序所访问,只能被驱动程序访问,并可以在任意进程的上下文中被使用,从而可以从驱动程序中打开磁盘文件并读、写该磁盘文件。这样,每次使用文件句柄时,操作***都会依附(ATTACH)到合适的进程上下文中,从而保证了文件句柄的有效性。
本发明实施例中,设备对象是操作***针对硬件设备建立的描述、记录该硬件设备相关信息的数据结构,驱动设备是物理的硬件设备。一个驱动程序可以对应多个设备对象,举例来说,如果一台电脑安装有多个键盘(设备对象),则电脑中安装的键盘驱动(驱动程序)可以对应驱动多个键盘设备对象。
操作***进程信息包括进程数、进程的线程数、进程的线程信息、进程的创建时间、内核时间(运行时间)、用户时间以及进程读写磁盘次数等,其中,一个进程中含有一个或多个线程,线程信息包括线程的堆栈、线程的所在模块、线程的创建时间、内核时间、用户时间以及等待原因等。其中,线程的所在模块即线程所属进程的模块信息,包括进程中每个模块的加载地址和大小。其中,
进程数、进程的创建时间、进程内核时间、进程的线程数、线程的创建时间以及线程内核时间等信息可以通过调用***信息查询(ZwQuerySystemInformation)函数传入类型***进程及线程信息(SystemProcessesAndThreadsInformation)获取,在获取到这些信息后,将获取的这些信息写入预先设置的磁盘文件中,这样,后续通过打开该磁盘文件,就可以得到这些信息。
线程的堆栈信息可以通过调用内核堆栈(KTHREAD)函数中的KernelStack获取,KernelStack为当前线程的内核堆栈指针。该堆栈指针偏移sizeof(KSWITCHFRAME)为该堆栈的真正堆栈指针(ESP)。通过ESP,就可以获取基址指针(EBP),其中,CPU的ESP寄存器存放当前线程的栈顶指针,EBP寄存器中保存当前线程的栈底指针。
所应说明的是,本发明实施例涉及的各函数,都存在于现有客户端的函数库中,关于各函数的详细说明,具体可参见相关技术文献,在此不再赘述。本发明通过分析各函数的的调用特性,用于实现在关机时记录并存储操作***进程的相关信息,从而为后续的定位分析提供参考。
本发明实施例中,可以按照预先设置的时间周期,周期性地将操作***进程信息写入磁盘文件,例如,每隔2秒,记录操作***进程信息并写入磁盘文件,直到操作***完全关机为止。
调用内核API ZwWriteFile函数将记录的操作***进程信息写入到预先设置的磁盘文件中包括:
A21、记录操作***进程信息;
本步骤中,记录进程的创建时间、内核时间、用户时间、进程读写磁盘次数等信息。
A22、记录每个进程下的线程信息;
本步骤中,如果一个进程下包括多个线程,则分别记录各线程信息,例如,线程的堆栈、线程的所在模块、线程的创建时间、内核时间、用户时间以及等待原因等。
A23、调用内核API ZwWriteFile函数,将获取的进程信息以及线程信息写到预先设置的磁盘文件。
步骤103,开机获取记录操作***进程信息的磁盘文件,分析并定位导致关机慢的进程信息。
本步骤中,在下次开机时,获取上次关机时的磁盘文件,分析关机过程进程的信息。
实际应用中,首先,可以通过进程的内核时间以及用户时间来判断哪个进程在关机时耗费了较多的时间,例如,如果某一进程的内核时间以及用户时间明显异常,即内核时间以及用户时间较长,可以初步确定该进程在关机时耗费了较多的时间,当然,也可以综合记录的操作***进程信息进行分析。在确定导致关机慢的进程后,还可以进一步确定是该进程中的哪些线程引起的关机慢,即接着通过进程的线程内核时间、用户时间、堆栈的变化、等待原因等来判断哪个线程占用了较多的时间,或者是死锁。例如,如果某个线程在上下间隔(预先设置的时间周期)的运行时间相差比较大,说明关机时这个线程还在频繁处理业务,如果从上下间隔中同一线程的堆栈变化在预设的阈值内、且堆栈在等待对象,举例来说,如果记录的线程信息表明线程调用了KeWaitForSingleObject函数,并一直没有返回该函数,而且线程的运行时间也没有变化,则可以初步判断是死锁。在分析得到导致关机慢的相关进程或线程的信息后,针对该进程或线程进行优化,具体可参见相关技术文献,在此不再赘述。
由上述可见,本发明实施例的定位关机慢的方法,监测到关机,触发驱动程序调用内核API IoRegisterShutdownNotification函数为驱动设备注册关机回调;在接收到输入输出请求包信息后,记录操作***进程信息,并调用内核API ZwWriteFile函数将记录的操作***进程信息写入到预先设置的磁盘文件中;开机获取记录操作***进程信息的磁盘文件,分析并定位导致关机慢的进程信息。这样,通过注册关机回调,在关机时将操作***进程信息记录到磁盘文件中,在下次开机后,获取记录的磁盘文件并进行分析,从而获知导致***关机慢的原因,并有针对性地进行优化,可以降低后续关机时间。
图2为本发明实施例定位关机慢的装置结构示意图。参见图2,该装置包括:关机回调模块、操作***进程信息获取模块、存储模块以及定位分析模块,其中,
关机回调模块,用于在监测到关机,触发驱动程序调用内核API IoRegisterShutdownNotification函数为驱动设备注册关机回调;
操作***进程信息获取模块,用于在接收到输入输出请求包信息后,记录操作***进程信息,并调用内核API ZwWriteFile函数将记录的操作***进程信息输出至存储模块进行存储;
本发明实施例中,操作***进程信息包括进程数、进程的线程数、进程的线程信息、进程的创建时间、运行时间、用户时间以及进程读写磁盘次数等。
定位分析模块,用于在开机后获取存储模块中记录操作***进程信息的磁盘文件,分析并定位导致关机慢的进程信息。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种定位关机慢的方法,其特征在于,该方法包括:
监测到关机,触发驱动程序调用内核应用编程接口驱动设备注册关机消息通知函数为驱动设备注册关机回调;
在接收到输入输出请求包信息后,记录操作***进程信息,并调用内核应用编程接口写文件函数将记录的操作***进程信息写入到预先设置的磁盘文件中;
开机获取记录操作***进程信息的磁盘文件,分析并定位导致关机慢的进程信息。
2.如权利要求1所述的方法,其特征在于,所述驱动程序调用内核应用编程接口驱动设备注册关机消息通知函数为驱动设备注册关机回调包括:
驱动程序通过调用驱动设备创建函数创建驱动设备对应的设备对象;
利用创建的设备对象作为参数,调用内核应用编程接口驱动设备注册关机消息通知函数。
3.如权利要求2所述的方法,其特征在于,所述输入输出请求包的主功能码为关机消息通知。
4.如权利要求3所述的方法,其特征在于,在调用所述内核应用编程接口写文件函数时,进一步包括:
调用初始化文件属性函数初始化文件句柄中的文件属性结构,并设置文件属性结构中属性值为内核文件句柄。
5.如权利要求1至4中任一项所述的方法,其特征在于,所述操作***进程信息包括:进程数、进程的线程数、进程的线程信息、进程的创建时间、内核时间、用户时间以及进程读写磁盘次数。
6.如权利要求5所述的方法,其特征在于,所述线程信息包括:线程的堆栈、线程的所在模块、线程的创建时间、内核时间、用户时间以及等待原因。
7.如权利要求6所述的方法,其特征在于,通过调用***信息查询函数传入类型***进程及线程信息获取所述进程数、进程的创建时间、进程内核时间、进程的线程数、线程的创建时间以及线程内核时间。
8.如权利要求6所述的方法,其特征在于,通过调用内核堆栈函数中的当前线程的内核堆栈指针获取所述线程的堆栈信息。
9.如权利要求6所述的方法,其特征在于,所述调用内核应用编程接口写文件函数将记录的操作***进程信息写入到预先设置的磁盘文件中包括:
记录操作***进程信息;
记录每个进程下的线程信息;
调用内核应用编程接口写文件函数,将获取的进程信息以及线程信息写到预先设置的磁盘文件。
10.一种定位关机慢的装置,其特征在于,该装置包括:关机回调模块、操作***进程信息获取模块、存储模块以及定位分析模块,其中,
关机回调模块,用于在监测到关机,触发驱动程序调用内核应用编程接口驱动设备注册关机消息通知函数为驱动设备注册关机回调;
操作***进程信息获取模块,用于在接收到输入输出请求包信息后,记录操作***进程信息,并调用内核应用编程接口写文件函数将记录的操作***进程信息输出至存储模块进行存储;
定位分析模块,用于在开机后获取存储模块中记录操作***进程信息的磁盘文件,分析并定位导致关机慢的进程信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110299941.6A CN103034577B (zh) | 2011-10-08 | 2011-10-08 | 一种定位关机慢的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110299941.6A CN103034577B (zh) | 2011-10-08 | 2011-10-08 | 一种定位关机慢的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103034577A true CN103034577A (zh) | 2013-04-10 |
CN103034577B CN103034577B (zh) | 2015-10-07 |
Family
ID=48021493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110299941.6A Active CN103034577B (zh) | 2011-10-08 | 2011-10-08 | 一种定位关机慢的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103034577B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942113A (zh) * | 2013-11-21 | 2014-07-23 | 小米科技有限责任公司 | ***重启原因的检测方法、装置及终端设备 |
CN106681811A (zh) * | 2016-12-08 | 2017-05-17 | 腾讯科技(深圳)有限公司 | 基于线程池的多线程调度方法及装置 |
CN107179992A (zh) * | 2017-05-18 | 2017-09-19 | 王东红 | 一种移动终端关机时间长度检测方法 |
CN108897580A (zh) * | 2018-07-12 | 2018-11-27 | 成都傲梅科技有限公司 | 一种关机执行任务的方法 |
CN110874301A (zh) * | 2018-08-30 | 2020-03-10 | 腾讯科技(深圳)有限公司 | 程序卡顿信息的获取方法和装置 |
CN112667588A (zh) * | 2019-10-16 | 2021-04-16 | 青岛海信移动通信技术股份有限公司 | 一种智能终端设备及其进行文件***数据写入的方法 |
CN113722002A (zh) * | 2020-05-26 | 2021-11-30 | 网神信息技术(北京)股份有限公司 | 用于获取命令行参数的方法和***、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0219936A (ja) * | 1988-07-08 | 1990-01-23 | Nec Corp | 参照・使用日付・時刻によるプログラム使用状況把握方式 |
CN1670695A (zh) * | 2004-03-17 | 2005-09-21 | 技嘉科技股份有限公司 | 计算机快速开机方法及装置 |
JP2008182650A (ja) * | 2007-01-26 | 2008-08-07 | Fuji Xerox Co Ltd | 画像形成装置及びプログラム |
CN101620539A (zh) * | 2008-07-01 | 2010-01-06 | 联想(北京)有限公司 | 开关机方法和计算机 |
-
2011
- 2011-10-08 CN CN201110299941.6A patent/CN103034577B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0219936A (ja) * | 1988-07-08 | 1990-01-23 | Nec Corp | 参照・使用日付・時刻によるプログラム使用状況把握方式 |
CN1670695A (zh) * | 2004-03-17 | 2005-09-21 | 技嘉科技股份有限公司 | 计算机快速开机方法及装置 |
JP2008182650A (ja) * | 2007-01-26 | 2008-08-07 | Fuji Xerox Co Ltd | 画像形成装置及びプログラム |
CN101620539A (zh) * | 2008-07-01 | 2010-01-06 | 联想(北京)有限公司 | 开关机方法和计算机 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942113A (zh) * | 2013-11-21 | 2014-07-23 | 小米科技有限责任公司 | ***重启原因的检测方法、装置及终端设备 |
CN103942113B (zh) * | 2013-11-21 | 2017-03-01 | 小米科技有限责任公司 | ***重启原因的检测方法、装置及终端设备 |
CN106681811A (zh) * | 2016-12-08 | 2017-05-17 | 腾讯科技(深圳)有限公司 | 基于线程池的多线程调度方法及装置 |
CN107179992A (zh) * | 2017-05-18 | 2017-09-19 | 王东红 | 一种移动终端关机时间长度检测方法 |
CN108897580A (zh) * | 2018-07-12 | 2018-11-27 | 成都傲梅科技有限公司 | 一种关机执行任务的方法 |
CN110874301A (zh) * | 2018-08-30 | 2020-03-10 | 腾讯科技(深圳)有限公司 | 程序卡顿信息的获取方法和装置 |
CN112667588A (zh) * | 2019-10-16 | 2021-04-16 | 青岛海信移动通信技术股份有限公司 | 一种智能终端设备及其进行文件***数据写入的方法 |
CN112667588B (zh) * | 2019-10-16 | 2022-12-02 | 青岛海信移动通信技术股份有限公司 | 一种智能终端设备及其进行文件***数据写入的方法 |
CN113722002A (zh) * | 2020-05-26 | 2021-11-30 | 网神信息技术(北京)股份有限公司 | 用于获取命令行参数的方法和***、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103034577B (zh) | 2015-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11922100B2 (en) | System and method for energy usage accounting in software applications | |
US8850403B2 (en) | Profiling data snapshots for software profilers | |
CN103034577A (zh) | 一种定位关机慢的方法及装置 | |
US9129056B2 (en) | Tracing values of method parameters | |
US8527960B2 (en) | Combining method parameter traces with other traces | |
US8584098B2 (en) | Component statistics for application profiling | |
EP2442230B1 (en) | Two pass automated application instrumentation | |
WO2017050146A1 (zh) | 终端应用app的加载方法及装置 | |
US9766911B2 (en) | Support for a non-native application | |
US20020170036A1 (en) | Detecting a stalled routine | |
EP1492011A2 (en) | System and method for facilitating profiling of an application | |
US20130159977A1 (en) | Open kernel trace aggregation | |
US9268627B2 (en) | Processor hang detection and recovery | |
KR20130127465A (ko) | 고속 컴퓨터 시동 | |
US20140259011A1 (en) | Virtual computer system and management method thereof | |
US20090089616A1 (en) | Offline hardware diagnostic environment | |
US20070083792A1 (en) | System and method for error detection and reporting | |
US8151251B2 (en) | e-Profiler: dynamic profiling and auditing framework | |
US8756603B2 (en) | Virtual machine stage detection | |
Rajagopalan et al. | Profile-directed optimization of event-based programs | |
US8924789B2 (en) | System and method for providing virtual machine diagnostic information using a flight recorder functionality | |
CN101425034A (zh) | 日志记录方法及日志*** | |
US20100153926A1 (en) | Operating system aided code coverage | |
Li et al. | Ice: Collaborating memory and process management for user experience on resource-limited mobile devices | |
CN112068980B (zh) | 采样cpu挂死前信息的方法和装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |