使用 Lauterbach Trace 查看函数运行时间图

Viewing graphs of function runtimes with Lauterbach Trace

我正在调试一个 long-运行 方法在死前被频繁调用的崩溃。我主要担心的是难以确定嵌套 and/or 递归调用的位置。

Trace->Chart->Symbols window 显示给定时间哪个函数是 运行 的图形,对于以下调用看起来像这样:

         display
            |
       drawChildren
       /         \
  drawTitle   drawImage
      |           |
   display     display
      |           |
drawChildren  drawChildren
display      | _     _   _       _   _     _
drawChildren |  |_  | |_| |  _  | |_| |  _|
drawTitle    |    |_|     |_| | |     | |
drawImage    |                |_|     |_|

我想要的是更类似于火焰图的东西,其中每次调用的持续时间一目了然,嵌套调用更容易发现:

display______________________________
 drawChildren_______________________
  drawTitle_______ drawImage_______
   display_______   display_______
    drawChildren     drawChildren

我试过查看列表视图,但我发现在我们有问题的代码中导航调用和迭代的数量很麻烦。我知道图表视图可以排序,但有什么方法可以让数据显示不同的视图?

我想最符合您需要的命令是

  • Trace.Chart.Nesting
  • Trace.ListNesting

您不会在菜单中找到此命令。您必须在 TRACE32 应用程序底部的命令行中键入它们 window(在 B:: 后面)或使用命令行下方的软键按钮来查找这些命令。

请注意,您可以使用“/Track”选项将跟踪 windows 彼此同步。