15
Embedded Software Lab. @ SKKU 14 1 Sungkyunkwan University Tizen v2.3 Application Profiling & Debugging

Embedded Software Lab. @ SKKU 14 1 Sungkyunkwan University Tizen v2.3 Application Profiling & Debugging

Embed Size (px)

Citation preview

Page 1: Embedded Software Lab. @ SKKU 14 1 Sungkyunkwan University Tizen v2.3 Application Profiling & Debugging

Embedded Software Lab. @ SKKU

14

1

Sungkyunkwan University

Tizen v2.3 Application Profiling & Debugging

Page 2: Embedded Software Lab. @ SKKU 14 1 Sungkyunkwan University Tizen v2.3 Application Profiling & Debugging

Embedded Software Lab. @ SKKU

14

2

• Both native application and web application run on Tizen.

• There are two tools to profile and debug applications.

• Dynamic Analyzer– Profiling native applications

• Web Inspector– Profiling web applications

Tizen Application Profiling

Page 3: Embedded Software Lab. @ SKKU 14 1 Sungkyunkwan University Tizen v2.3 Application Profiling & Debugging

Embedded Software Lab. @ SKKU

14

3

• A tool to profile and debug native applications• Provide various templates

Dynamic Analyzer

Page 4: Embedded Software Lab. @ SKKU 14 1 Sungkyunkwan University Tizen v2.3 Application Profiling & Debugging

Embedded Software Lab. @ SKKU

14

4Dynamic Analyzer Layout

1. Timeline chart– Shows data values

over time as a chart

2. Snapshot, Call stack– Provides additional

information about the data

3. Call trace– Shows the user API

calls

Page 5: Embedded Software Lab. @ SKKU 14 1 Sungkyunkwan University Tizen v2.3 Application Profiling & Debugging

Embedded Software Lab. @ SKKU

14

5

• Shows data values over time as a chart

Dynamic Analyzer: Timeline chart

– CPU usage/frequency– Heap allocation

• Total, App allocated

– Process size• VSS, RSS, PSS

– Memory– File

• read, write, open fd count

– Screenshot– UI event

• key, touch, gesture, orientation events

Page 6: Embedded Software Lab. @ SKKU 14 1 Sungkyunkwan University Tizen v2.3 Application Profiling & Debugging

Embedded Software Lab. @ SKKU

14

6

• Shows user method call stack that occurs during an application execution

• All threads in the application– Call stack is provided by threads in the application

Dynamic Analyzer: Call Trace

• Source code view– Hovering mouse

cursor on the call, you can see original function code, including app and framework.

Page 7: Embedded Software Lab. @ SKKU 14 1 Sungkyunkwan University Tizen v2.3 Application Profiling & Debugging

Embedded Software Lab. @ SKKU

14

7

• Snapshot View– Shows current screen, CPU

usage, process usage and available memory

Dynamic Analyzer: Snapshot & Callstack

• Callstack View– Callstack of the

selected API in call trace view

Page 8: Embedded Software Lab. @ SKKU 14 1 Sungkyunkwan University Tizen v2.3 Application Profiling & Debugging

Embedded Software Lab. @ SKKU

14

8

• Display thread and synchronization objects in a tree format using a graph

Dynamic Analyzer: Thread Analysis Chart

– Yellow bar: API call– Orange area:

possession of synchronization object (lock)

– Violet arrow: interaction between threads

– Grey area: waiting time for the acquiring that synchronization object

Page 9: Embedded Software Lab. @ SKKU 14 1 Sungkyunkwan University Tizen v2.3 Application Profiling & Debugging

Embedded Software Lab. @ SKKU

14

9

• Display UI component hierarchy and UI-related function profiling

Dynamic Analyzer: UI Analysis Chart

1. Control– UI component

hierarchy2. Scene Transition

– Scene transition history during app execution

3. UI Function Profiling– Profiling user-defined

UI-related functions4. Common Features

– Additional information in the form of snapshot

Page 10: Embedded Software Lab. @ SKKU 14 1 Sungkyunkwan University Tizen v2.3 Application Profiling & Debugging

Embedded Software Lab. @ SKKU

14

10

• Show information associated with file operations

Dynamic Analyzer: File Analysis Chart

– Green area: file was normally processed

– Grey area: file was abnormally processed

– Yellow area: file was not closed

– Blue line: API has been used– Red line: API has failed– Purple area: read operation– Lime area: write operation

Page 11: Embedded Software Lab. @ SKKU 14 1 Sungkyunkwan University Tizen v2.3 Application Profiling & Debugging

Embedded Software Lab. @ SKKU

14

11

• A tool to profile and debug web applications

• Based on WebKit Web Inspector• Composed of following panels

• Elements• Resources• Network• Sources• Timeline• Profiles• Console

Web Inspector

Page 12: Embedded Software Lab. @ SKKU 14 1 Sungkyunkwan University Tizen v2.3 Application Profiling & Debugging

Embedded Software Lab. @ SKKU

14

12

• Elements Panel– Analyze web page

components such as DOM tree, CSS style

Web Inspector

• Resources Panel– Inspect web page

resources such as HTML, JavaScript, CSS, images and fonts

Page 13: Embedded Software Lab. @ SKKU 14 1 Sungkyunkwan University Tizen v2.3 Application Profiling & Debugging

Embedded Software Lab. @ SKKU

14

13

• Network Panel– Inspect resources

downloaded over the network

– HTTP header, response, cookies and preview

Web Inspector

• Sources Panel– Inspect and debug

JavaScript source page– Callstack, scope

variables, breakpoints

Page 14: Embedded Software Lab. @ SKKU 14 1 Sungkyunkwan University Tizen v2.3 Application Profiling & Debugging

Embedded Software Lab. @ SKKU

14

14

• Timeline Panel– Advanced timing and speed analysis– Handles loading, scripting, rendering and painting

events

Web Inspector

Page 15: Embedded Software Lab. @ SKKU 14 1 Sungkyunkwan University Tizen v2.3 Application Profiling & Debugging

Embedded Software Lab. @ SKKU

14

15

• Profiles Panel– JavaScript debugger

that inspect CPU profiles or CSS select profiles

Web Inspector

• Console Panel– A JavaScript console

interacting web page programmatically