线程分析器
线程分析器模块支持跟踪线程信息所需的所有Zephyr选项,例如线程堆栈大小使用情况和其他运行时线程运行时统计信息。
当应用程序调用thread_analyzer_run()
或thread_analyzer_print()
.时,将按需执行分析。
例如,要构建启用了线程分析器的同步示例,请执行以下操作:
west build -b qemu_x86 samples/synchronization/ -- -DCONFIG_QEMU_ICOUNT=n -DCONFIG_THREAD_ANALYZER=y \
-DCONFIG_THREAD_ANALYZER_USE_PRINTK=y -DCONFIG_THREAD_ANALYZER_AUTO=y \
-DCONFIG_THREAD_ANALYZER_AUTO_INTERVAL=5
当您在Qemu中运行生成的应用程序时,您将从线程分析器获得附加信息:
thread_a: Hello World from cpu 0 on qemu_x86!
Thread analyze:
thread_b : STACK: unused 740 usage 284 / 1024 (27 %); CPU: 0 %
thread_analyzer : STACK: unused 8 usage 504 / 512 (98 %); CPU: 0 %
thre