发明名称 Memory allocation visualization for unmanaged languages
摘要 A “Memory Allocation Visualizer” provides a dynamic visualization that animates memory allocation event trace information over a time period of execution of a program. Consequently, the Memory Allocation Visualizer provides a visualization and understanding of a program's memory system behavior. Various modes of display with custom color mappings and zooming allow the user to see how heaps are used over time (e.g., by allocation type, age, size, thread id, etc.). Custom displays also allow the user to detect potential memory leaks and fragmentation problems. Composable filters enable the user to focus on specific issues. Various techniques are used to enable processing of a very large numbers of trace events while enabling rapid response to visualization view changes.
申请公布号 US8959442(B2) 申请公布日期 2015.02.17
申请号 US201012814194 申请日期 2010.06.11
申请人 Microsoft Corporation 发明人 Chilimbi Trishul A.;Lee Bongshin;Robertson George G.
分类号 G06F3/048;G06F11/36;G06F11/32;G06F11/34 主分类号 G06F3/048
代理机构 代理人 Wight Steve;Yee Judy;Minhas Micky
主权项 1. A method for generating a dynamic visualization of memory allocation events for a computer program, comprising steps for: recording a log of memory allocation events occurring during a period of execution of a computer program; constructing a data structure of memory allocation events from the log of memory allocation events, the data structure comprising: an array of memory event objects, each memory event object comprising information derived from a corresponding event in the log,an event index for each memory event object of the array,a memory use dictionary that maps from memory addresses to memory usage objects, each memory usage object containing a history of all events for a given memory address over time, anda pixel list dictionary that maps from pixel number of a display device to the event index, and that is populated from the memory use dictionary; specifying a viewing mode from a set of viewing modes for use in constructing a dynamic visualization of memory allocation events, said viewing mode defining a format for displaying how memory heaps are used over time during the period of execution of the computer program; and rendering an animation of the dynamic visualization of memory allocation events on the display device from the array of memory event objects, the event index, the memory use dictionary and the pixel list dictionary of the data structure of memory allocation events.
地址 Redmond WA US