| <table border="1" style="border-collapse: collapse" width="100%" |
| id="table128" cellpadding="4" bordercolor="#FFFFFF"> |
| <tr> |
| <td bgcolor="#595791" width="7%" align="center"><b> <font |
| color="#FFFFFF" size="1">Release</font></b></td> |
| <td bgcolor="#595791" width="5%" align="center"><b> <font |
| color="#FFFFFF" size="1">Resolved </font></b></td> |
| <td bgcolor="#595791" width="*" align="center"><b> <font |
| color="#FFFFFF" size="1">Community Contributions</font></b></td> |
| </tr> |
| |
| <tr> |
| <td bgcolor="#E0D0E6"><font size="1">0.6.2<br> |
| <i>16 Sep 2010</i></font></td> |
| <td bgcolor="#E0D0E6" align="center"><a |
| href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&classification=Tools&product=Linux+Tools&target_milestone=0.6.2&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0"> |
| <font size="1">2<br> |
| bugs</font></a></td> |
| <td bgcolor="#E0D0E6"><font size="1">This was a bug-fix-only release resolving issues with Valgrind.</font></td> |
| </tr> |
| <tr> |
| <td bgcolor="#FAF7FB"><font size="1">0.6.1<br> |
| <i>26 Aug 2010</i></font></td> |
| <td bgcolor="#FAF7FB" align="center"><a |
| href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&classification=Tools&product=Linux+Tools&target_milestone=0.6.1&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0"> |
| 37 bugs</a></td> |
| <td bgcolor="#FAF7FB"><font size="1">This was a bug-fix-only release resolving issues with LTTng, ChangeLog, RPM, Valgrind and SystemTap.</font></td> |
| </tr> |
| <tr> |
| <td bgcolor="#E0D0E6"><font size="1">0.6<br> |
| <i>23 June 2010</i></font></td> |
| <td bgcolor="#E0D0E6" align="center"><a |
| href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&classification=Tools&product=Linux+Tools&target_milestone=0.6&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0"> |
| 85 bugs</a></td> |
| <td bgcolor="#E0D0E6"><font size="1"> Jon Beniston |
| contributed some patches for the Autotools plugins. Patrick Tasse |
| helped improve the TMF Time Analysis Viewer. Chris Aniszczyk clarified |
| some API violations. Martin Gerhardy helped Xavier Raynaud implement |
| support for 64-bit gmon files for use with the GProf integration |
| plugins. </font></td> |
| </tr> |
| </table> |
| |
| <hr> |
| |
| <p><span style="font-weight: 700; background-color: #FAF7FB">New |
| in Linux Tools 0.6</span></p> |
| <ul> |
| <!-- <li><a href="#autotools">GNU Autotools Support (1)</a></li> |
| <li><a href="#changelog">ChangeLog Tools (1)</a></li> |
| <li><a href="#eclipsebuild">Building the Eclipse SDK (3)</a></li> |
| <li><a href="#callgraph">Eclipse Callgraph (2)</a></li> --> |
| <li><a href="#gprof">GProf integration (2)</a></li> |
| <!-- <li><a href="#rpmstubby">RPM Stubby (3)</a></li> |
| <li><a href="#specfileeditor">RPM <tt>.spec</tt> Editor (4)</a></li> |
| <li><a href="#systemtap">Systemtap Editor (2)</a></li> --> |
| <li><a href="#lttng">Linux Tracing Tools (2)</a></li> |
| </ul> |
| |
| <h2><a name="autotools">GNU Autotools Support</a></h2> |
| |
| <table cellpadding="10" cellspacing="0"> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Configuration</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The Autotools integration plugins add support for |
| running a configuration step prior to running the Makefile of existing |
| projects that use a configure or autogen.sh script.</p> |
| <p><img border="0" src="images-0.6/autotools-configuration.png"> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Maintenance</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The Autotools plugins include colourized editors |
| for configure scripts including hover help and completion for macros.</p> |
| <p><img border="0" src="images-0.6/autotools-editor.png"><br> |
| <br> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Project Templates</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The GNU Autotools plug-in provides template |
| projects for both C and C++ in the CDT C and C++ Project Wizards. |
| There are two templates for each language: an empty project template |
| used when importing existing projects and a sample "Hello World" |
| project template. The "Hello World" sample project templates provide |
| all needed source and configuration files such that the build produces |
| a working executable that prints to the console.</p> |
| <img border="0" alt="Autotools Project Template" |
| src="images-0.6/autotools-template.png"></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Autotools Configuration</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The configuration settings can be found under the |
| Autotools properties page. Configuration options write and store a new |
| project xml file: .autotools. Note that the build directory is not specified in |
| the configuration settings, it is specified exclusively using the |
| "Build Location" setting found in the C/C++ Build properties page.</p> |
| <img border="0" alt="New configuration settings" |
| src="images-0.6/autotools-newconfigure.png"> |
| <p align="left">If the build location is not set, then by default, |
| the initial build will occur in the top-level project directory. |
| Subsequent builds will build in new directories which are named |
| "build-${CfgName}" where ${CfgName} is the name of the configuration. |
| If this behaviour is not desired, it can be turned off from the |
| top-level Autotools property page.</p> |
| <img border="0" alt="New autotools page" |
| src="images-0.6/autotools-newautotoolspage.png"> |
| <p align="left">For further information about rewrite changes, <a |
| href="http://wiki.eclipse.org/Linux_Tools_Project/Autotools/Rewrite_Changes_Guide">click |
| here</a>. |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| </table> |
| |
| <h2><a name="changelog">ChangeLog Tools</a></h2> |
| |
| <table cellpadding="10" cellspacing="0"> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Source code parsing</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The ChangeLog tools assist in generating ChangeLog |
| entries. Pressing the key combination Ctrl-Alt-c will parse the |
| current file and add a ChangeLog entry in the appropriate ChangeLog |
| file. C, C++, and Java source files are parsed to indicate |
| methods/functions which have been modified, added or removed. Hold Ctrl |
| and click on one of the files to jump to that file in the Editor.</p> |
| <p><img border="0" src="images-0.6/changelog-generation-3.png"> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Repository integration</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The ChangeLog tools can generate a ChangeLog entry |
| for projects that use a source code repository. Support is provided |
| for standard org.eclipse.team providers and has been tested with both |
| CVS and SVN repositories. A ChangeLog entry can be generated for all |
| changes between the local copy and the repository by pressing |
| Ctrl+Alt+p.</p> |
| <p><img border="0" src="images-0.6/changelog-generation.png"> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Filename Support Improvements</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">Previously files with blanks in their names or |
| parentheses or colons caused the ChangeLog parser to misinterpret the |
| actual file name vs the function name. This would prevent a Ctrl-click |
| from opening files properly. This is now fixed and files with such |
| names will show up with escape characters automatically added. |
| Ctrl-click now works on these files.</p> |
| <img border="0" alt="ChangeLog entry with spaces in file name" |
| src="images-0.6/changelog-odd-names.png"></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Multiple files per entry</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The plugin now allows entries that have multiple |
| files specified in one entry. The multiple file names are separated by |
| commas and can continue on multiple lines. This is useful when there |
| is one change made on a large group of files. The Ctrl-click feature |
| works on each file.</p> |
| <img border="0" alt="ChangeLog entry with multiple file entries" |
| src="images-0.6/changelog-multiple-files.png"></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| </table> |
| |
| |
| <!--h2><a name="eclipsebuild">Building the Eclipse SDK</a></h2> |
| |
| <table cellpadding="10" cellspacing="0"> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>New SDK version</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">Eclipse-build has been updated to build the new |
| version of the Eclipse SDK 3.5.2.</p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>System libraries</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">Eclipse-build has been extended to use system jars |
| for external dependencies instead of the jars shipped with SDK.</p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>ECF</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">ECF build is part of the bootstrapping step now |
| allowing us to use the just built ecf instead of rebuilding them after |
| the SDK build.</p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Running SDK Tests</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The Eclipse SDK test suites can be run with <a |
| href="http://wiki.eclipse.org/Linux_Tools_Project/Eclipse_Build/Tests"><tt>ant |
| runTests</tt></a>. A single HTML file with aggregated results will be created. |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Enhance distributions' experience</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">Install target has been added to install |
| provisioned SDK.</p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Additional Architectures</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">Support for the following additional architectures |
| has been added: <lu> |
| <li>arm</li> |
| <li>mips</li> |
| <li>mipsel</li> |
| <li>PA_RISC</li> |
| <li>alpha</li> |
| <li>ia64</li> |
| <li>ppc64</li> |
| <li>sparc</li> |
| <li>sparc64</li> |
| </lu></p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| </table--> |
| |
| <h2><a name="libhover">API Documentation Hover Help</a></h2> |
| <table cellpadding="10" cellspacing="0"> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>C++ Support</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The Libhover Libstdc++ feature adds C++ hover help |
| for the libstdc++ library.</p> |
| <img border="0" alt="Alt text for the image" |
| src="images-0.6/cpplibhover.png"></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Standards</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The Libhover plugin adds C library hover help and |
| completion support for various C libraries including glibc and newlib. |
| The plugin provides an extension and a documentation format for adding |
| new C libraries in the future.</p> |
| <p><img border="0" src="images-0.6/libhover-sample.png"> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| |
| </table> |
| |
| <h2><a name="oprofile">OProfile Profiling</a></h2> |
| |
| <table cellpadding="10" cellspacing="0"> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Manual Profiling</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The Manual Profiling option makes your profiling |
| more controlled and more precise. Use the Manual option to start and |
| stop the Oprofile daemon at will.</p> |
| <img border="0" alt="Manual Profiling Launch Shortcut" |
| src="images-0.6/Screenshot-oprofile_manual_shortcut.png"></td> |
| </tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Eclipse Help User Guide</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The <a |
| href="http://wiki.eclipse.org/Linux_Tools_Project/OProfile/User_Guide">OProfile |
| user guide</a> is available via a link in the Eclipse Help System.</p> |
| <img border="0" alt="Eclipse Help System With OProfile Item" |
| src="images-0.6/Screenshot-oprofile_userhelp.png"></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Timer Interrupt Profiling</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The plugin will now work with OProfile's timer |
| interrupt-based profiling. This happens automatically when the host |
| CPU has no debug registers, or can be forced by manually loading the |
| OProfile module with: <pre># modprobe oprofile timer=1</pre></p> |
| <img border="0" alt="Timer Interrupt Event In The OProfile View" |
| src="images-0.6/oprofile-timer-int-scr.png"></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Multi-Architecture Support</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The plugin includes fragments to support PPC, x86 and x86_64 for |
| use with their respective processors.</p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>New View</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The OProfile plugin gives users a way to |
| statistically profile a C/C++ application at runtime. It makes use of |
| the OProfile commandline tool to collect data on function calls and |
| time spent within functions. The plugin includes a way to view the |
| results of oprofile runs. Events are top level elements allowing |
| multiple events to be shown simultaneously. Double-clicking on a line |
| number node brings up an editor with the source file at the |
| appropriate line (if available). Double-clicking on the default |
| session (named "current") allows it to be saved for future viewing.</p> |
| <p><img border="0" alt="New OProfile View UI" |
| src="images-0.6/oprofile-newui.png"> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>One Click Launch</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">Profiling is as easy as a single click. |
| Right-clicking on a CDT binary, project or editor of a source file |
| will launch the associated project's binary under OProfile with no |
| configuration needed. Configuration is set to appropriate defaults for |
| the user's processor (an event based on execution time) and this |
| configuration is left for the user to customize later.</p> |
| <p><img border="0" alt="Launch Shortcut" |
| src="images-0.6/oprofile-launchshortcut.png"> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Event Config Tab UI</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">Allows users of all experience levels with |
| OProfile to take advantage of its powerful profiling capabilities. |
| Default event configuration option. Multiple hardware counters appear |
| as tabs. All unit masks properly displayed with appropriate defaults. |
| Caching of event check results allowing for faster validation. |
| Scrollable composite for events with many unit masks.</p> |
| <p><img border="0" alt="Event Config Tab" |
| src="images-0.6/oprofile-eventconfigtab.png"> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| </table> |
| |
| <h2><a name="callgraph">Eclipse Callgraph</a></h2> |
| <table cellpadding="10" cellspacing="0"> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Multi-threaded profiling</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">Callgraph can now trace function calls in |
| multi-threaded programs. No difference in terms of the user interface, |
| but now when graphing Callgraph will automatically track which |
| functions belong to which thread and display them accordingly.</p> |
| <img border="0" alt="Multi-threaded program in radial view" |
| src="images-0.6/threaded-screenshot.png"></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Convert To DOT Language</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">Eclipse Callgraph can save graphs to the DOT |
| language. In Eclipse Callgraph, click the main menu and choose File -> |
| Save As, then choose an option to save parts of the graph or the whole |
| graph as a .dot file. Graphs in DOT language can then be graphed or |
| converted to other formats (e.g. PDF, SVG, etc.) by any of a large |
| number of existing DOT parsing programs.</p> |
| <img border="0" |
| alt="Sample Callgraph-generated .dot file and resulting graph in graphviz" |
| src="images-0.6/callgraph-dot.png"></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Visualize C/C++ Projects</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">Graphically displays the call hierarchy from |
| executing a C/C++ binary, along with various other runtime statistics. |
| </p> |
| <img border="0" src="images-0.6/callgraph.png"></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Link To Function Source</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The graph views are linked to their source code. |
| This means that from any view, one can jump directly to the relevant |
| source code by holding Ctrl and double clicking a node.</p> |
| <img border="0" src="images-0.6/callgraph-link.png"></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| </table> |
| |
| <h2><a name="gprof">GProf Integration</a></h2> |
| |
| <table cellpadding="10" cellspacing="0"> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#E0D0E6> |
| <p align="right"><b>Architecture coverage</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">GProf plugins now support 64-bit gmon files (<a |
| href="https://bugs.eclipse.org/304163">bug #304163</a>).</p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#E0D0E6> |
| <p align="right"><b>Visualization</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">GProf profiling results can now more easily be |
| viewed using a BIRT-drive visualization.</p> |
| <img border="0" alt="GProf BIRT visualization" |
| src="images-0.6/GProfChartView.png"></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Configuration</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The Gprof plugin allows the generation of |
| execution performance statistics based on compiler instrumentation. |
| Thus, the user has to compile the C/C++ program with profiling enabled |
| using the <i>-pg</i> option prior to running the tool.</p> |
| <img border="0" alt="" src="images-0.6/gprof-compile-step.png"> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Launching</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">Once the application run is finished, a <i>gmon.out</i> |
| file is generated under the project. Double clicking on this file will |
| open a dialog to select the associated binary.</p> |
| <img border="0" alt="" src="images-0.6/gprof-project-explorer.png"> |
| <img border="0" alt="" src="images-0.6/gprof-binary-file.png"> |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Results</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p>The Gprof view shows which parts of the program consume most of |
| the execution time. It also provides call graph infomation for each |
| function. Source code can be viewed in an editor by double clicking on |
| a function in the tree. |
| <p><img border="0" alt="" src="images-0.6/gprof-view.png"></p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| </table> |
| |
| <h2><a name="gcov">GCov Integration</a></h2> |
| |
| <table cellpadding="10" cellspacing="0"> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#E0D0E6> |
| <p align="right"><b>Code coverage</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">GCov code coverage output files can now be visualized in Eclipse. An application compiled with "-fprofile-arcs" "-ftest-coverage" and linked with "-fprofile-arcs" will generate 2 coverage output files (*.gcda/*.gcno) for each source file of the program. Double clicking on one of these files provides an overview of coverage for the whole program. In addition, source files are annotated with lines covered their frequency of execution. |
| </p> |
| <img border="0" alt="GCov screenshot" src="images-0.6/gcovProject.png"> |
| <img border="0" alt="GCov screenshot" src="images-0.6/gcov.png"> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| </table> |
| |
| |
| <h2><a name="rpmstubby">RPM Stubby</a></h2> |
| |
| <table cellpadding="10" cellspacing="0"> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Generation</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The RPM Stubby plugin assists in generating an RPM |
| specfile for an Eclipse feature by using the data in its feature.xml. |
| The plugin uses the latest best practices for packaging an Eclipse |
| feature as an RPM.</p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Robustness</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">Uses %global macro instead of %define. See <a |
| href="http://fedoraproject.org/wiki/PackagingDrafts/global_preferred_over_define">here</a> |
| for details.</p> |
| <img border="0" alt="Alt text for the image" |
| src="images-0.6/rpmstubby-global.png"></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Improved Maven projects support</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">Proper install for jars in a pom project and make |
| use of the %{_mavenpomdir} macro.</p> |
| <img border="0" alt="Alt text for the image" |
| src="images-0.6/rpmstubby-mvn-install.png"></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Maven generation</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">RPM Stubby can generate RPM spec files directly |
| from Maven pom.xml files.</p> |
| <img border="0" src="images-0.6/rpmstubby-pom.png"></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| </table> |
| |
| <h2><a name="specfileeditor">RPM <tt>.spec</tt> Editor</a></h2> |
| |
| <table cellpadding="10" cellspacing="0"> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Download sources</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">Sometimes when working with an RPM spec file it is |
| necessary to download any referenced sources. The RPM .spec editor |
| makes this easy by allowing sources defined in the spec file to be |
| downloaded directly from inside Eclipse.</p> |
| <img border="0" alt="Alt text for the image" |
| src="images-0.6/specfile-download.png"></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>SRPM Import</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">SRPM import wizard creates RPM project directly |
| instead of running the generic new project.</p> |
| <img border="0" alt="Alt text for the image" |
| src="images-0.6/specfile-new-project.png"></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Form based editor</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The editor has a form-based editor that supports a |
| number of sections and tags.</p> |
| <img border="0" alt="Form based editor" |
| src="images-0.6/specfile-form-editor.png"></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Convert tabs to spaces </b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">Automatically replace tabs with a predefined |
| number of spaces using a preference setting.</p> |
| <img border="0" alt="Tabs to spaces" |
| src="images-0.6/specfile-tab-to-spaces.png"></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>RPM project support</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The editor includes a wizard that creates RPM |
| projects with standard rpmbuild directory structure to facilitate |
| setting up RPM projects.</p> |
| <img border="0" alt="RPM project" |
| src="images-0.6/specfile-new-rpm-project.png"></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Rpmlint markers for .spec files</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The RPM .spec editor comes with an option to run |
| RPMLint on spec files. The RPMLint option will run the rpmlint tool and |
| mark warnings/errors on the spec file.</p> |
| <img border="0" src="images-0.6/specfile-rpm-rpmlint.png"></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Structured compare support</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">Structured compare has been added for ease of use |
| with version control systems.</p> |
| <img border="0" src="images-0.6/specfile-compare.png"></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>%global definition support</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">Support for %global way of defining variables. For |
| details about why %global should be preferred over %define see <a |
| href="https://fedoraproject.org/wiki/PackagingDrafts/global_preferred_over_define">here.</a> |
| </p> |
| <img border="0" src="images-0.6/specfile-global.png"></td> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Fully-featured editor</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The RPM .spec editor is a fully featured editor |
| for spec files. It includes context-sensitive autocompletion support, |
| syntax highlighting, quick fixes, hover-help and other features |
| designed to make editing spec files easier.</p> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| </table> |
| |
| |
| |
| <h2><a name="valgrind">Valgrind Profiling</a></h2> |
| |
| <table cellpadding="10" cellspacing="0"> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Valgrind 3.5 Support</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">Valgrind 3.5 brings several <a |
| href="http://www.valgrind.org/docs/manual/dist.news.html">changes</a> |
| to the tool suite, such as improved leak checking. For the Linux Tools |
| 0.4 release, an issue has been corrected that prevented launching a |
| program successfully with default Valgrind options. Valgrind 3.5 users |
| should now have no problems profiling their C/C++ applications in |
| Eclipse.</p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Customize Valgrind Location</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">A new preference setting specifies an alternate |
| location for the Valgrind executable. Now you can use Valgrind from a |
| non-standard location without having to manipulate your PATH |
| environment variable! By default this will be set to the path returned |
| by the <i>which</i> command. The preference page can be found in <i>Window |
| -> Preferences</i> .</p> |
| <img src="images-0.6/valgrind-pref.png" /></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Suppression File Editor</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">For Valgrind tools that output a series of errors, |
| there can often be a lot of noise — errors you are not |
| interested in. Valgrind has the capability of using Suppressions to |
| ignore such errors. The syntax for defining Suppression Files can be |
| found <a |
| href="http://www.valgrind.org/docs/manual/manual-core.html#manual-core.suppress">here</a>. |
| </p> |
| <p align="left">Now an editor for Valgrind Suppression files has |
| been created and will be used for files ending with the ".supp" |
| extension. It features context-sensitive syntax highlighting (for |
| instance only highlighting the word "Memcheck" when used to define the |
| tool relating to the Suppression), code folding and completion. |
| Completion is very useful to select from the full range of Memcheck |
| Suppression types.</p> |
| <p align="left">Currently only Memcheck is supported in the editor |
| as it is the only tool of these plugins that uses Suppressions.</p> |
| <img border="0" alt="Editing a Valgrind suppression file" |
| src="images-0.6/valgrind-supp-editor.png"></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Export Massif Chart</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The allocation chart produced by the Massif plugin |
| can now be exported as an <a |
| href="http://en.wikipedia.org/wiki/Scalable_Vector_Graphics">SVG</a>. |
| </p> |
| <img border="0" alt="Exporting the Massif chart as an SVG image" |
| src="images-0.6/valgrind-svg-chart.png"></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Massif Chart Interactivity</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">A new interactivity feature has been added to |
| Massif's heap allocation charts. As before, single-clicking on a data |
| point in the chart selects that snapshot in the Valgrind view. Now you |
| can double-click on a data point that is a detailed snapshot to open an |
| editor for one of its allocation function calls. This feature considers |
| all of the locations in your project's sources that call an allocation |
| function such as malloc or new. If your project contains functions that |
| serve as wrappers to allocation functions, be sure to add them to the |
| list of allocation functions in the launch configuration. This will |
| ensure you get the most meaningful profiling results.</p> |
| <img alt="Selecting A Function Call To Open" |
| src="images-0.6/valgrind-chart-interactive.png" /></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Fold Valgrind results</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">To help manage large amounts of profiling results, |
| all three tools offer a new "Expand/Collapse Beneath Selection" |
| feature in their tree viewers. Accessible from the viewer's context |
| menu, this will expand (or collapse) all items beneath the selected |
| element.</p> |
| <img alt="Expand/Collapse Beneath Action" |
| src="images-0.6/valgrind-expand-collapse.png" /></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Cachegrind Integration</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">A Cachegrind plugin allows users to profile the |
| cache and branch behaviour of their program. A hierarchical breakdown |
| of these statistics is presented in a tree for easy navigation and |
| sorting.</p> |
| <img alt="Cachegrind Profiling Results" |
| src="images-0.6/valgrind-cachegrind.png" /></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Memcheck Integration</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">Support for Memcheck, the memory error-checking |
| tool, includes a tree view of errors and their corresponding stack |
| trace. Stack frames can be double-clicked to show the given line in an |
| editor. Markers annotate the corresponding source code.</p> |
| <p><img border="0" src="images-0.6/valgrind-memcheck.png"> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Massif Integration</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">Massif integration consists of three different |
| forms of output. A table view lists each heap snapshot taken. Of these |
| snapshots, some have more detailed information available, including a |
| call trace of the functions performing heap allocations in each |
| snapshot. This extended information is available in a tree view |
| accessible either by double clicking on a snapshot with the "tree" |
| icon, or by clicking the similar icon in the Valgrind view's toolbar. |
| Within the tree view, allocation functions found in source files can |
| be viewed in an editor by double clicking on the element in the tree. |
| Finally, there is a heap chart displayed in an editor that graphically |
| outlines the information provided in the snapshots. Clicking on a |
| point in the chart selects the snapshot in the table.</p> |
| <p><img border="0" src="images-0.6/valgrind-massif.png"> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| </table> |
| |
| |
| <h2><a name="systemtap">Systemtap GUI</a></h2> |
| |
| <table cellpadding="10" cellspacing="0"> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>SystemTap Dashboard</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The Dashboard Perspective is the most advanced |
| part of SystemTap GUI. It is designed to allow users to browse and run |
| prebuilt modules in order to see multiple graphs updating in |
| sequence.The dashboard allows for visualizing specific system |
| activities graphically.</p> |
| <img src="images-0.6/SystemTap_dashboard.png" /> |
| </p> |
| <p align="center">SystemTap dashboard</p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>Removed server dependency</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The SystemTap GUI server is now redundant. |
| SystemTap scripts can be executed remotely using remote ssh.</p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>SystemTap IDE</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">Linux Tools encompasses a fully-featured IDE for |
| the SystemTap language. This includes a SystemTap editor and views |
| that list available systemtap probes, systemtap functions and the |
| kernel source code. Code completion, code folding, context-assistance |
| and highlighting are all included in the IDE.</p> |
| <img border="0" alt="SystemTap IDE" |
| src="images-0.6/Screenshot-systemtap-1.png"></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#FAF7FB> |
| <p align="right"><b>SystemTap Graphs</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The SystemTap IDE is can display the output of |
| SystemTap scripts as dynamic graphs. Graphs are created on-the-fly and |
| according to user specifications.</p> |
| <img border="0" alt="SystemTap Graph 1" |
| src="images-0.6/Screenshot-systemtap-2.png"></td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| </table> |
| |
| <h2><a name="lttng">Linux Tracing Tools</a></h2> |
| |
| <table cellpadding="10" cellspacing="0"> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#E0D0E6> |
| <p align="right"><b>Histogram View</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The new LTTng Histogram view replaces the old Time |
| Frame View</p> |
| <img alt="LTTng Histogram view" |
| src="images-0.6/LTTngHistogramView.png" /> |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| <tr> |
| <td align="left" valign="top" width="15%" bgcolor=#E0D0E6> |
| <p align="right"><b>Performance</b></p> |
| </td> |
| <td valign="top" width="70%"> |
| <p align="left">The performance and responsiveness of the LTTng |
| plugins has greatly improved.</p> |
| </td> |
| </tr> |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| </table> |
| |
| |
| <h2> </h2> |