Memory stack trace management tool

    公开(公告)号:US10241895B2

    公开(公告)日:2019-03-26

    申请号:US15355725

    申请日:2016-11-18

    Applicant: Apple Inc.

    Abstract: The present technology monitors events that allocate and deallocate virtual memory regions in a device, wherein the events include system calls from user space. The system can generate a log of events, and based on the log of events, track regions of virtual memory allocated and deallocated via the events. The system can also record events with corresponding stack traces. Next, the system can group recorded events having matching stack traces to yield event groupings, and instrument functions in a compiled code associated with the process to determine retain counts of respective events associated with the functions. The system can then automatically pair at least one of a first portion of the events and a second portion of the respective events based on the event groupings and the retain counts of the respective events to yield paired events.

    Memory management tools
    2.
    发明授权
    Memory management tools 有权
    内存管理工具

    公开(公告)号:US09529692B2

    公开(公告)日:2016-12-27

    申请号:US14038648

    申请日:2013-09-26

    Applicant: Apple Inc.

    Abstract: The present technology monitors events that allocate and deallocate virtual memory regions in a device, wherein the events include system calls from user space. The system can generate a log of events, and based on the log of events, track regions of virtual memory allocated and deallocated via the events. The system can also record events with corresponding stack traces. Next, the system can group recorded events having matching stack traces to yield event groupings, and instrument functions in a compiled code associated with the process to determine retain counts of respective events associated with the functions. The system can then automatically pair at least one of a first portion of the events and a second portion of the respective events based on the event groupings and the retain counts of the respective events to yield paired events.

    Abstract translation: 本技术监视在设备中分配和释放虚拟内存区域的事件,其中事件包括来自用户空间的系统调用。 系统可以生成事件日志,并根据事件的日志,通过事件分配和释放虚拟内存的跟踪区域。 系统还可以使用相应的堆栈跟踪记录事件。 接下来,系统可以对具有匹配堆栈跟踪的记录事件进行分组以产生事件分组,以及与该过程相关联的编译代码中的仪器功能,以确定与功能相关联的各个事件的保留计数。 然后,系统可以基于事件分组和各个事件的保留计数自动地对对事件的第一部分和相应事件的第二部分中的至少一个,以产生配对事件。

    QUEUE DEBUGGING USING STORED BACKTRACE INFORMATION
    3.
    发明申请
    QUEUE DEBUGGING USING STORED BACKTRACE INFORMATION 有权
    使用存储的备注信息进行调查

    公开(公告)号:US20150347271A1

    公开(公告)日:2015-12-03

    申请号:US14292777

    申请日:2014-05-30

    Applicant: Apple Inc.

    CPC classification number: G06F11/3636

    Abstract: When queuing work items for asynchronous execution, the approaches set forth herein enable a debugger to provide more meaningful and complete stack trace information for enqueued work items. An example system identifies a work item to be enqueued for asynchronous execution as a separate thread during runtime of a program. Upon enqueuing the work item in an execution queue, the system captures pre-queue stack trace information associated with the work item, and associates the pre-queue stack trace information with the work item. The system removes the work item from the execution queue for execution, wherein the execution is associated with current stack trace information separate from the pre-queue stack trace information. Upon detecting an event associated with executing the work item, the system merges the pre-queue stack trace information with the current stack trace information to yield a merged stack trace.

    Abstract translation: 当对用于异步执行的工作项进行排队时,本文阐述的方法使调试器能够为排队的工作项提供更有意义和完整的堆栈跟踪信息。 示例系统在程序运行期间将要排入队列的工作项标识为异步执行,作为单独的线程。 在执行队列中排队工作项后,系统将捕获与工作项相关联的预排队堆栈跟踪信息,并将队列前跟踪信息与工作项相关联。 系统从执行队列中删除工作项以供执行,其中执行与当前堆栈跟踪信息相关联,该信息与预排队堆栈跟踪信息分开。 在检测到与执行工作项相关联的事件时,系统将预先队列堆栈跟踪信息与当前堆栈跟踪信息进行合并,以产生合并堆栈跟踪。

    MEMORY MANAGEMENT TOOLS
    4.
    发明申请
    MEMORY MANAGEMENT TOOLS 有权
    内存管理工具

    公开(公告)号:US20140365834A1

    公开(公告)日:2014-12-11

    申请号:US14038648

    申请日:2013-09-26

    Applicant: Apple Inc.

    Abstract: The present technology monitors events that allocate and deallocate virtual memory regions in a device, wherein the events include system calls from user space. The system can generate a log of events, and based on the log of events, track regions of virtual memory allocated and deallocated via the events. The system can also record events with corresponding stack traces. Next, the system can group recorded events having matching stack traces to yield event groupings, and instrument functions in a compiled code associated with the process to determine retain counts of respective events associated with the functions. The system can then automatically pair at least one of a first portion of the events and a second portion of the respective events based on the event groupings and the retain counts of the respective events to yield paired events.

    Abstract translation: 本技术监视在设备中分配和释放虚拟内存区域的事件,其中事件包括来自用户空间的系统调用。 系统可以生成事件日志,并根据事件的日志,通过事件分配和释放虚拟内存的跟踪区域。 系统还可以使用相应的堆栈跟踪记录事件。 接下来,系统可以对具有匹配堆栈跟踪的记录事件进行分组以产生事件分组,以及与该过程相关联的编译代码中的仪器功能,以确定与功能相关联的各个事件的保留计数。 然后,系统可以基于事件分组和各个事件的保留计数自动地对对事件的第一部分和相应事件的第二部分中的至少一个,以产生配对事件。

    MEMORY MANAGEMENT TOOLS
    5.
    发明申请

    公开(公告)号:US20170083426A1

    公开(公告)日:2017-03-23

    申请号:US15355725

    申请日:2016-11-18

    Applicant: Apple Inc.

    Abstract: The present technology monitors events that allocate and deallocate virtual memory regions in a device, wherein the events include system calls from user space. The system can generate a log of events, and based on the log of events, track regions of virtual memory allocated and deallocated via the events. The system can also record events with corresponding stack traces. Next, the system can group recorded events having matching stack traces to yield event groupings, and instrument functions in a compiled code associated with the process to determine retain counts of respective events associated with the functions. The system can then automatically pair at least one of a first portion of the events and a second portion of the respective events based on the event groupings and the retain counts of the respective events to yield paired events.

    Queue debugging using stored backtrace information
    6.
    发明授权
    Queue debugging using stored backtrace information 有权
    使用存储的回溯信息进行队列调试

    公开(公告)号:US09378117B2

    公开(公告)日:2016-06-28

    申请号:US14292777

    申请日:2014-05-30

    Applicant: Apple Inc.

    CPC classification number: G06F11/3636

    Abstract: When queuing work items for asynchronous execution, the approaches set forth herein enable a debugger to provide more meaningful and complete stack trace information for enqueued work items. An example system identifies a work item to be enqueued for asynchronous execution as a separate thread during runtime of a program. Upon enqueuing the work item in an execution queue, the system captures pre-queue stack trace information associated with the work item, and associates the pre-queue stack trace information with the work item. The system removes the work item from the execution queue for execution, wherein the execution is associated with current stack trace information separate from the pre-queue stack trace information. Upon detecting an event associated with executing the work item, the system merges the pre-queue stack trace information with the current stack trace information to yield a merged stack trace.

    Abstract translation: 当对用于异步执行的工作项进行排队时,本文阐述的方法使调试器能够为排队的工作项提供更有意义和完整的堆栈跟踪信息。 示例系统在程序运行期间将要排入队列的工作项标识为异步执行,作为单独的线程。 在执行队列中排队工作项后,系统将捕获与工作项相关联的预排队堆栈跟踪信息,并将队列前跟踪信息与工作项相关联。 该系统从执行队列中删除工作项以供执行,其中执行与当前堆栈跟踪信息相关联,该信息与预先队列堆栈跟踪信息分开。 在检测到与执行工作项相关联的事件时,系统将预先队列堆栈跟踪信息与当前堆栈跟踪信息进行合并,以产生合并堆栈跟踪。

Patent Agency Ranking