2

我正在调试一个崩溃,其中一个长时间运行的方法在死亡之前经常被调用。我主要关心的是难以确定嵌套和/或递归调用的位置。

Trace->Chart->Symbols 窗口显示了在给定时间运行的函数的图形,对于以下调用,该图形如下所示:

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

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

display______________________________
 drawChildren_______________________
  drawTitle_______ drawImage_______
   display_______   display_______
    drawChildren     drawChildren

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

4

1 回答 1

3

我猜最符合您需求的命令是

  • Trace.Chart.Nesting
  • Trace.ListNesting

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

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

于 2019-03-27T11:28:12.413 回答