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

    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.

    INTERACTIVE LEARNING TOOL USING PLAYGROUND
    3.
    发明申请
    INTERACTIVE LEARNING TOOL USING PLAYGROUND 审中-公开
    互动式学习工具

    公开(公告)号:US20150347094A1

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

    申请号:US14724726

    申请日:2015-05-28

    Applicant: Apple Inc.

    Abstract: The subject disclosure relates to methods and systems for facilitating software development. In particular, aspects of the technology relate to a method including steps for receiving source code from a user in an editor window, automatically compiling the source code to produce compiled code, and executing the compiled code to generate an output, wherein the output comprises one or more results from execution of the compiled code. In some aspects, the method can also include steps for providing a results window to the user, the results window displaying at least one of the results from the execution of the compiled code, and providing a visualization window to the user, wherein the visualization window is associated with a progress timeline and wherein the visualization window is configured to display an animation of the at least one of the results from execution of the compiled code.

    Abstract translation: 本公开涉及促进软件开发的方法和系统。 特别地,该技术的方面涉及一种方法,包括在编辑器窗口中从用户接收源代码的步骤,自动编译源代码以产生编译代码,以及执行编译代码以生成输出,其中输出包括一个 或更多来自执行编译代码的结果。 在一些方面,该方法还可以包括向用户提供结果窗口的步骤,结果窗口显示来自执行编译代码的结果中的至少一个,以及向用户提供可视化窗口,其中可视化窗口 与进度时间线相关联,并且其中所述可视化窗口被配置为从所述编译代码的执行显示所述结果中的所述至少一个结果的动画。

    QUEUE DEBUGGING USING STORED BACKTRACE INFORMATION
    4.
    发明申请
    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
    5.
    发明申请
    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
    6.
    发明申请

    公开(公告)号: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
    7.
    发明授权
    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