I'm debugging a crash where a long-running method is called frequently before death. My primary concern is the difficulty in determining where nested and/or recursive calls are.
The Trace->Chart->Symbols window shows a graph of which function is running at a given time, which looks like this for the following calls:
display
|
drawChildren
/ \
drawTitle drawImage
| |
display display
| |
drawChildren drawChildren
display | _ _ _ _ _ _
drawChildren | |_ | |_| | _ | |_| | _|
drawTitle | |_| |_| | | | |
drawImage | |_| |_|
What I'd like is a something more akin to a flame graph, where the duration of each call is visible at a glance and nested calls are easier to spot:
display______________________________
drawChildren_______________________
drawTitle_______ drawImage_______
display_______ display_______
drawChildren drawChildren
I've tried looking at the list view, but I found it cumbersome to navigate for the amount of calls and iterations within our problematic code. I know the chart view can be sorted, but is there any way to get a different view of the data?