|
From: Nicholas N. <nj...@cs...> - 2005-05-03 12:31:09
|
On Tue, 3 May 2005, Naba Kumar wrote: > 1) The classic "run and show stdout/stderr in message pane": > This is the most basic way of 'integration' and doesn't even > need an implementation. The user can simply set up the tool in > preferences. Apart from showing the outputs, there is no > interaction between Anjuta and the tool. However, I believe, > this is not the kind of integration you are expecting. > > 2) CLI interface: If valgrind supports some kind of CLI interface > (ala gdb), and I am not sure if such interface is even required > for valgrind, Anjuta can have a plugin that proxies valgrind's > CLI interface to IDE's GUI (menus and windows). This is actually > a very complicated integration and rather prone to breakages. > If full blown CLI is not required for valgrind, at least > having a machine parsable outputs (e.g. xml) could make it easier. Valgrind does not support a CLI interface. Its output is currently text only, albeit fairly structured text that should be easy to parse. We have thought about possibilities for more flexible output, ie. by having replacing a "displayer" module/program that is given the raw outputs and displays them appropriately (eg. normally, or in XML, or graphically) but no work has been done on this. > 3) API interface: This is the best and most preferred way for > the integration. In this case, valgrind offers a library that > an Anjuta plugin proxies to the IDE's internal interfaces. Out of interest, what does the API look like? Do you have a webpage describing it? > In case(2) and case(3), the integration requires developing > an Anjuta plugin, but that is the least difficult part since > it will hardly span more than one source file. Yes. And unless a very general mechanism (such as the "displayer" module) can be implemented in Valgrind, I think this is the right way to do it: have extra code in Anjuta to deal with Valgrind, rather than extra code in Valgrind to deal with Anjuta. > I hope someone wishing to implementation such an integration would > find it useful. As I mentioned before, KDevelop's plug-in would definitely be worth looking at for anyone interested in this. Valgrind GUIs like Alleyoop and Valgui are worth looking at also. N |