VSF Documented
Data Structures | Functions | Variables
visualize_heap_map Namespace Reference

Data Structures

class  Block
 
class  C
 
class  Diff
 
class  Dump
 
class  Parser
 
class  Reporter
 
class  SymbolResolver
 
class  Visualizer
 

Functions

str fmt_kb (int b, int p=2)
 
str fmt_size (int b)
 
list[int] hsl (float h, float s, float l)
 
 main ()
 

Variables

int KB = 1024
 
int MIN_SIZE_KB = 10
 

Detailed Description

堆内存分析工具 - Heap Memory Map Visualizer

通用对比分析:对比任意两次 dump,显示 curr_only(新增)和 prev_only(释放)
锁定期间分析:通用对比的特例,额外保证 lock 期间不会真正释放内存,便于查找泄漏

生成 heap.dump 文件:
  在代码中调用 vsf_heap_dump() 函数,该函数会通过 vsf_trace 输出堆内存 dump 日志。
  将日志复制出来保存成文件(如 heap.dump.txt),不需要清理非 heap 的其他日志,工具会自动过滤。
  如果仅关注某段代码的内存申请或释放,使用方式如下:
    vsf_heap_dump(true);   // 在关注代码段开始前调用,锁定堆(锁定期间不会真正释放内存)
    // ... 你的代码 ...
    vsf_heap_dump(false);  // 在关注代码段结束后调用,解锁堆并追踪锁定期间的内存分配

使用方法:
  python visualize_heap_map.py heap.dump.txt                    # 基本用法
  python visualize_heap_map.py heap.dump.txt -s project.out     # 带符号解析 (GCC: .out/.elf, MDK: .axf)
  python visualize_heap_map.py heap.dump.txt -d 1 3             # 对比第1次和第3次 dump

Function Documentation

◆ fmt_kb()

str visualize_heap_map.fmt_kb ( int  b,
int   p = 2 
)

◆ fmt_size()

str visualize_heap_map.fmt_size ( int  b)

◆ hsl()

list[int] visualize_heap_map.hsl ( float  h,
float  s,
float  l 
)

◆ main()

visualize_heap_map.main ( )

Variable Documentation

◆ KB

int visualize_heap_map.KB = 1024

◆ MIN_SIZE_KB

int visualize_heap_map.MIN_SIZE_KB = 10
Generated from commit: vsfteam/vsf@b2e9e8a