Title: Data Protector DeBugs Analyzer
1Data Protector DeBugs Analyzer DP DBgA
2AGENDA
- Data Protector
- DP Debug Files
- DBgA functionalities
- Demo
3AGENDA
- Overview ?
- Data Protector
- DP Debug Files
- DBgA functionalities
- Demo
4OVERVIEW
- What is it?
- Application that helps to read and analyze
complex Data Protector debug files - Two main parts
- DeBugs Reader (DBR) debugs presented in a
convenient way - DeBugs Analyser (DBA) debugs presented as graph
- Who can use it?
- Support poeple CC, EC CPE
- Framework for designing analyzers of other
applications traces
5Data Protector DP
- Backup / Restore application
- Distributed application
- Several agents installed on the systems
- Agents communicate using messages
- Tracing functionality
- Debug files creation
6AGENDA
- Data Protector ?
- DP Debug Files ?
- DBgA functionalities
- Demo
7DP Debug Files
- One or several debug files by agent
- Text files
- Content very close to the C code
- Different levels of tracing 1 to 999
- 1-99 only High level function calls are
- tracked
- 1-999 High level low level function calls
- are tracked
8DP Debug Files
- Header
- patch
- User/group
- PID
-
- Body
- Function calls
- Program instructions
- Example sending/receiving messages
9DP Debug FilesExample
-
- DEBUGGING STARTED
- PID/TID 7232.0
- USER root
-
- MACHINE HP-UX frov103 B.11.11 U 9000/800
-
- 99 2004-05-22 152443 ("ma/xma/conmgr.c
/main/dp51/2"1543) A.05.10 b209 - 99 gtgt (0) ConInit
- 10 ConInit we have to connect to SM
- .
- 99 2004-05-22 152443 ("ma/xma/conmgr.c
/main/dp51/2"1557) A.05.10 b209 - 99 ltlt (0) / ConInit /
- 60 2004-05-22 152443 ("lib/ipc/ipc.c
/main/dp51/9"6202) A.05.10 b209 - 60 IpcAttachConnection(0, 1)
- ..
- 112 IpcGetHostByNameentry
hostname"frov103", retry_count10, delay_sec1 - ..
Header
Reference to the C source code file
ConnInit()
Body
IpcGetHostbyname()
OptParseOption()
OptGetEnv()
10AGENDA
- Data Protector ?
- DP Debug Files ?
- DBgA functionalities ?
- Demo
11- DBgA functionalities
- How it works
12DP DBgA GUIExample BSM, VBDA BMA modules
DBR module window
DBA module window
ToDo window
Details window
13AGENDA
- Data Protector ?
- DP Debug Files ?
- DBgA functionalities ?
- DBR DeBugs Reader ?
- DBA DeBugs Analyzer
- Demo
14DBgA FUNCTIONALITIES DeBugs Reader DBR
- One of the two main BDgA modules
- Allows to display debug file as a tree
- Nodes
- functions calls
- Children (of a parent function)
- functions that this parent function calls
- Instructions body of the parent function
- User can expand /collapse a node (function)
- Similar to Windows File System explorer
15DP DBA How it works DeBugs Reader DBR
No function is expanded
2 functions are expanded
16DBgA FUNCTIONALITIES DeBugs Reader DBR
- C code references are displayed as hyperlinks
- Click on such hyperlink
- Opens the corresponding C source file in detail
Pan - Highlights the C code line
17C source code browsing (available only if you
have acces to the code source)
C code references are displayed as hyperlinks
Click on such hyperlink 1- Opens the
corresponding C source file in detail
Pan 2- Highlights the C line
18 19AGENDA
- Data Protector ?
- DP Debug Files ?
- DBgA functionalities ?
- DBR DeBugs Reader ?
- DBA DeBugs Analyzer ?
- Demo
20DBgA FUNCTIONALITIESDeBug Analyzer DBA
- The second main DgBA module
- Warning
- DP DBgA the name of the whole application
- DBA module the name of the module
- DBR module versus DBA module
- DBR helps to analyze each debug file on its own
- DBA module purpose is to consolidate information
from different debug files - Messages sent/received
- Status of modules compared to each others
- .
- Uses graphics and tables
21DBA - Graphical view Real-Time Diagram
- Each icon represents a debug file - alias
a DP Agent - Each arrow represents an
exchanged message - Icons sizes proportional
to modules durations. - Arrows start and end
points drawn with respect to messages
sending and receiving times.
22DBA - Graphical view Sequential Diagram
- Each icon represents a debug file - alias
a DP Agent - Each arrow represents an
exchanged message - Ions of equal sizes. -
Arrows drawn in a sequential order
23DeBug Analyzer DBATabular view
Each line represents a debug file (alias a DP
agent)
Each line represents a a message Sent or received
by the selected agent in the previous table
24DBgA GUIEverything together
25DP DBgA GUIEverything together
26DP DBA GUI Everything together
Agents table
messages table for selected agent
27DP DBA GUI Everything together
- Navigation between DBA and DBR modules
- From message arrow jump to the corresponding
debug text file - From message arrow get contextual information
relative to this event - Two different views Real-time and Sequential
- Possibility to browse the C source code part
corresponding to the debug text currently browsed
- From a DBR line, open the corresponding source C
file and highlight the corresponding C code line
in the detail window - Available only if you have acces to the source
code
28Modules Navigation
Right click message arrow to jump to the
corresponding source or target debug text
file (see result in the next slide)
29Modules Navigation
DBgA automatically opens the corresponding debug
file and highlights the line corresponding to
the selected message.
30DBgA DESIGN IMPLEMENTATION
- Based on 4 modules
- dbgModel
- GEF (Graph Editor Feature)
- dbgParser
- DBgA application
31Conclusion
- Would be nice if DP Lab
- use, follow and respect conventions for tracing
functions calls - OR
- provide debug files in XML format
- DP DBA is now provides as a framework for
creating debug reader/analyzer for other
applications
32Conclusion
- Various and useful functionalities can be easily
added - Any new idea/functionality is welcome