初始化程序的调试器程序示例

以下示例说明如何在程序执行时查看性能监视器数据。

from a debugger at breakpoint (1)

       pm_initialize(filter);
(2)    pm_get_program_pthread(pid, tid, ptid, &prog);
       ... display PM programmation ...

(3)    pm_get_data_pthread(pid, tid, ptid);
       ... display PM data ...

       pm_delete_program_pthread(pid, tid, ptid);
       prog.events[0] = 2; /* change counter 1 to count event number 2 */
       pm_set_program_pthread(pid, tid, ptid, &prog);

continue program

如果在调试器下执行的程序没有任何嵌入式性能监视器 API 调用,那么上述方案也将起作用。 唯一的区别是 (2) 和 (3) 处的调用将失败,并且当程序继续时,它将只计算计数器 1 中的事件号 2 ,而不计算其他计数器中的任何值。