Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

LinuxIDE

Linux Tools IDE

Linux is everywhere from IT server, to embedded systems, to consumer electronics, to big parallel computers. Using proprietary tools ported from proprietary operating systems is a complete turn–off for the Linux community. Having a well integrated UI for Linux tools will benefit the whole Linux community and can become de-facto standard for other type of systems. Already today open source tools like GCC, GDB, LTTng, etc. are actively developed for Linux where lots of features are available, when in a Host-Target environment all the host parts can be re-use as is on other systems, the below picture illustrate this for debugging.

GDBEclipse.jpg


The goal of the work group is to discuss/plan work in a collaborative way, some reasoning for creating this work group can be found below:

  • Integrate new Linux tools features in Eclipse;
  • Develop higher level Eclipse analysis,
  • Promotes the Eclipse Linux Tools IDE;
  • Some features requires cross projects implementation e.g. some new debug features needs to touch GDB/CDT/Debug, LTTng/kernel/Linux Tool/Trace, RSE, and the Eclipse debug platform;
  • Linux developers like vi and cmd line, with multi-core and multi-process they are now looking at IDE's. Debugging multi-core systems in non-stop when attaching to many processes is inefficient to do on the cmd line.
  • Integrate/package other Eclipse features for the Linux community, e.g. Mylyn, code review, eGit, etc.
  • Avoid incompatible data, inconsistent work, and duplicated efforts.
  • Help to have standardized formats or analysis for tools.
  • Show it’s easy to add features to Linux tools, e.g. invite companies/people who can take contracts for developing new features or providing support, packaging. Many companies are modifying those tools without contributing anything back, they sometimes think it's too hard to add features into open source projects but it’s not the case;
  • Facilitate the distribution of those tools.
  • Find ways to facilitate tool interaction for Linux and bare metal systems.
  • Decouple the tool from the Linux version, it's easy for end users to use the latest version of tools but usually they cannot upgrade the operating system, this will make it easy to use the latest tools version with older operating system version that have to be in place for many years.
  • Collaborate with other organization such as the Linux Foundation, multi-core association, CE Linux Forum on creating de-facto standards for tools.

In other words have a rich set of features to make it easy and fun to develop on Linux.


Meeting Minutes

May 5, 2010

June 2, 2010

Mailing List

Linux IDE Mailing List

Target Audience

  • C/C++ developer writing applications on a Linux desktop and targeting Linux as a deployment platform.
  • Linux deployment platform could be an embedded device, desktop or server


Potential Areas of Collaboration

Debug

  • Integrate into Eclipse the GDB features that are not already in Eclipse.
  • Multi-core, Multi-context debug
    • Core awareness
    • Add a core view where we can see all the cores
    • Step at the application level i.e. many processes, step only one core, etc.
    • OS-awareness
    • MultiContext


Tracing

  • Visualization of Linux traces e.g. Events View, Control Flow View, Resource View, Statistics View, etc.
  • Trace synchronization
    • Time correction
    • Multi-core
    • Multi-level
    • Multi-node, distributed
  • Dependency analysis, delay analyzer
    • Dependencies among processes
    • How total elapsed time is divided into main components
  • Pattern matching
    • Security
    • Performance
    • Testing lock acquisitions
  • Correlation
    • Other format
    • Text base logs
    • Multi-level
    • Multi-core timebase correlation
      • AMP Linux
      • Heterogeneous multicore
    • Between tools
      • scrolling or clicking a time line in one tool (e.g. LTTng viewer) causes other tools to update views to show the same point in time
      • selecting a time range of events in one tool causes other tools to select the same range of time
      • time-based event filtering (e.g. context switches) in one tool causes other tools to do equivalent time-based event filtering
  • Unify static tracepoint e.g. LTTng UST/LTTng TRACE_EVENT with dynamic tracepoint e.g. kprobes / GDB dynamic tracepoint
  • Decouple the trace collection from the Eclipse analysis
  • Linux tracing format has description of the event, i.e. it's a self describing format, a state system,
  • Heterogeneous core / OS will be handled by using same binary format
  • Higher level analysis, delta between average values
  • Tracing at the instruction level
  • Correlate trace and profile data


Editor improvements

  • Code formatting
  • Scalability of indexing
  • Indexing on a build server instead of on the host
  • Support for static analysis


Eclipse Toolchain Automation

  • compiler option, build, debug, trace, etc.


Unified profiling

  • Oprofile, gprof and perf are in Linux tools, finding a common framework would beneficial


Distribution, Packaging

  • creating an Eclipse Labs project for Linux Tools IDE with Eclipse added value project like Mylyn and the corresponding external tools e.g. GDB


Marketing

  • Create fact sheet, recorded video of features, conference presentation, etc.


Other Tools

Back to the top