View
215
Download
0
Category
Tags:
Preview:
Citation preview
Assignment 2SARAH DIESBURG
CO5641
Assignment 2 Other tools exist to ease kernel development and debugging
Pick a tool not already explained, set it up, and give a brief (10-15 minute) presentation
◦ Powerpoint and/or demo
Assignment 2 Try to answer the following questions
◦ What is the tool’s primary purpose?◦ How useful is this tool?◦ How easy to set up?
Give a quick tutorial on basic usage◦ Link to references
Assignment 2 Goal
◦ Expose everyone to useful tools before major coding begins◦ Have useful discussion about tools
Assignment 2 Clarification
◦ You don’t have to know everything about your chosen tool◦ Give us a good idea
If you have trouble setting up the tool…◦ Create a presentation instead of a demo to discuss tool◦ Cite your web sources◦ Explain what the troubles were
Assignment 2 Tool Choices
Git◦ Open source distributed version control system◦ Initially developed by Linus Torvalds for Linux kernel development◦ Necessary tool◦ Can use departmental servers (e.g. shell, linprog)◦ http://git-scm.com/
Assignment 2 Tool Choices
gdb◦ Find line of code where kernel oopsed◦ https://wiki.ubuntu.com/Kernel/KernelDebuggingTricks (bottom)
Assignment 2 Tool Choices
kgdb◦ Used along with gdb to debug the Linux kernel◦ Requires two machines that are connected via a serial connection or virtual
machine◦ Look at kernel hacking menu in “make menuconfig”◦ http://kgdb.geeksofpune.in/tocdebug.htm
Assignment 2 Tool Choices
Eclipse◦ Full-featured IDE◦ http://wiki.eclipse.org/
HowTo_use_the_CDT_to_navigate_Linux_kernel_source
Assignment 2 Tool Choices
Doxygen◦ Graphical documentation system◦ View dependency graphs, classes, defines, and comments◦ Example: http://www.vtk.org/doc/nightly/html/index.html◦ http://www.doxygen.org
Assignment 2 Tool Choices
Capturing kernel oops◦ Sometimes kernel oops are not recordable and scroll off the screen◦ General presentation to capture oops messages, can include
◦ Making console font smaller – will not scroll off screen◦ Serial connection◦ Virtual machine with minicom◦ Remote logging◦ In-depth presentation of Magic SysRq
◦ Use this link to get started: https://wiki.ubuntu.com/Kernel/KernelDebuggingTricks
Assignment 2 Tool Choices
LTTng◦ Linux Trace Toolkit – next generation◦ Uses tracing to debug the kernel◦ Records low-level events◦ Customizable◦ https://lttng.org/
Assignment 2 Tool Choices
Local indexers
cscope◦ Console-mode interface to search source code◦ http://en.wikipedia.org/wiki/Cscope
Alternatively, CCTree as a native Vim plugin◦ http://www.vim.org/scripts/script.php?script_id=2368
etags/ctags◦ Generate tag files for emacs, vim◦ http://www.delorie.com/gnu/docs/emacs/etags.1.html◦ http://ctags.sourceforge.net/
Assignment 2 Tool Choices
/proc files◦ These special files report status information from the kernel to user space.◦ (some examples) http://www.centos.org/docs/5/html/Deployment_Guide-
en-US/s1-proc-topfiles.html
Assignment 2 Tool Choices
A tool not mentioned here◦ Something you have seen in the kernel hacking menu?◦ Email me or Bobby for approval
Recommended