summerofcode2014:ctf_implementation_and_use_in_the_kernel_debugger

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
summerofcode2014:ctf_implementation_and_use_in_the_kernel_debugger [2014/05/22 17:22] – DanielLovaskosummerofcode2014:ctf_implementation_and_use_in_the_kernel_debugger [2014/08/04 05:28] (current) – DanielLovasko
Line 1: Line 1:
-====== CTF implementation and use in kernel debugger ======+====== CTF implementation and use in the kernel debugger ======
   * Student: [[/DanielLovasko|DanielLovasko]] (lovasko@)   * Student: [[/DanielLovasko|DanielLovasko]] (lovasko@)
   * Mentor: [[/GeorgeNevilleNeil|GeorgeNevilleNeil]] (gnn@)   * Mentor: [[/GeorgeNevilleNeil|GeorgeNevilleNeil]] (gnn@)
Line 5: Line 5:
 ===== Project description ===== ===== Project description =====
  
-(Two or three paragraphs about your project, the problem you are trying to solve, and any obstacles you may hit.) +When somebody compiles the kernel with the ''%%WITH_CDDL%%'' and ''%%WITH_CTF%%'' options, the ''%%ctfconvert%%'' utility is used to convert the DWARF debugging symbols to the CTF data. This is apparently done to enable the D-Trace utility to retrieve the type information data. Since we already have this information inside the kernel at our disposal, it would be a shame not to use it also for other purposes, in our case the kernel on-line debugger DDB. 
- +The main idea behind this project is to add the capability of pretty printing data structures contained inside the %%FreeBSD%% kernel source based on the CTF data contained in the ''%%SUNW_ctf%%'' section of the kernel binaries. The following example will illustrate the feature. The names of variables and data structures are fictional for better intuition.
-===== Approach to solving the problem ===== +
- +
-(Details as to how you intend to approach the problem, if applicable.  May include ideas as to how to break the problem down into smaller parts, or notes on research you need to do before settling on your final approach to solving the problem) +
- +
-===== Deliverables ===== +
- +
-(List of features you plan to implement) +
- +
-===== Milestones ===== +
- +
-(5-10 milestones, with dates, indicating when you hope or expect to be able to complete features.  This section is mandatory.  Please negotiate these with your mentor to make sure you're not under- or over-estimating the amount of work to be done.  Please also make sure the following four dates are included within your milestones) +
- +
-  * June 17: Start of coding  +
-  * July 29-August 2: Mid-term Evaluations  +
-  * September 16: End of coding (soft)  +
-  * September 23: End of coding (hard)  +
- +
-===== Test Plan ===== +
- +
-(List of steps you plan to use to test your work, as discussed with your mentor)+
  
 ===== The Code ===== ===== The Code =====
  
-(Link to your code, for example https://svnweb.freebsd.org/socsvn/soc2013/username/ or a Perforce depot path)+[[https://github.com/lovasko/libctf|libctf on github]] \\  
 +[[https://github.com/lovasko/ctfdump|ctfdump on github]] \\  
 +[[https://github.com/lovasko/ctfstats|ctfstats on github]] \\  
 +[[https://github.com/lovasko/ctfquery|ctfquery on github]] \\  
 +[[https://github.com/lovasko/ddb_ctf|ddb ctf-related enhancements]]
  
 ===== Useful links ===== ===== Useful links =====
  
-(Links to any external resources, work, research etc which may be useful to you or to anybody wanting to understand your work)+[[http://www.smnd.sk/lovasko/FreeBSD_Proposal.pdf|the proposal]] \\  
 +[[http://lovasko.wordpress.com|the blog]] \\  
 +[[https://blogs.oracle.com/levon/entry/reducing_ctf_overhead|reducing ctf overhead]] \\  
 +[[http://dtrace.org/blogs/eschrock/2011/10/26/your-mdb-fell-into-my-dtrace|dtrace print action]] \\  
 +[[http://dtrace.org/blogs/rm/2013/11/14/userland-ctf-in-dtrace|userland ctf in illumos]]
  
  • summerofcode2014/ctf_implementation_and_use_in_the_kernel_debugger.1400779358.txt.gz
  • Last modified: 2014/05/22 17:22
  • by DanielLovasko