I am using qtcreator on linux and am searching for a way to update the Doxygen comments in the c++ code I am working with.
I like to be notified if somebody changed a signature when the documentation is not matching anymore whats in the code. What tool is able to automatically check for differences between signature and doxycomments, and preferable is able of adding empty /param for every missing parameter?
Related
In my C-code I repeatedly use a function from an external library:
XCALL("Blabla");
...
XCALL_END("Blabla");
It would be very helpful to be able to put each XCALL call into the outline view for better code querying. However, I could not find an easy solution for this. Also, installed Xtext in hope it was easy to configure. Any ideas?
Many thanks in advance!
I couldn't find any customization point open by CDT for modifying the behavior of the Outline view so I think you would have to get the CDT sources and build your customized version if you want to do that - or maybe see if they would be interested in you making this behavior customizable via extensions. In any case, this would represent quite a lot of work.
I'm trying to re-implement a C++ code in Go. Specifically, I'm focused on meshToVolume tool of OpenVDB library.
As shown by a manually-prepared code flow screenshot, even a rough call stack map is pretty perplexing.
I'm looking for a tool to help me keep track of call stack and the code flow. So far:
I've looked at this post and tried out BOUML, but it didn't help
Also, OpenVDB has a Doxygen, but I couldn't get much help regarding keeping track of code flow and call stack
Can anybody suggest a helpful tool/method?
Using Doxygen, I could finally visualize call graph!
Approach
Downloaded and installed Doxygen. Then ran Doxywizard i.e. Doxygen GUI front-end. OpenVDB has a doc directory which is set as the working directory from which Doxygen will run.
Without selecting these options, call graphs didn't get generated for me:
I have Graphviz DOT language installed on my machine. There I can use it to generate call graphs:
Finally, Doxygen generates the output HTML accessible at:
file:///C:/Users/m3/repos/doxygen-output/html/index.html
Dependency graph sample:
QtCreator comes with cool Qt-related documentation and functionality: when you select a Qt class and press F1, it opens a sidebar with that class specific documentation page.
Now, QtCreator lets me install C++ documentation (found here: http://qt-project.org/wiki/Qt_Creator_Documentation_Gallery - I've tried the en.cppreference.com version). However, selecting an STL class and pressing F1 only opens the default, generic page listine, sort of "Home" of the documentation.
Is it possible to have a mimic functionality for C++ STL docs to the one of Qt docs?
Also, I've checked it in QtCreator 2.4 running on Ubuntu 12.04. Is it maybe fixed in newer versions?
In case you're still looking for an answer to this (or for anyone else finding this posting), there is a working solution now. In the official documentation gallery there is a download link labelled STL documentation. That version will provide correctly working context sensitive look-up. There are a few things where that seems to fail though (like std::unique_ptr), but for most things I tested it works just fine. Some things find a technically correct but not helpful entry though. As an example, std::fill(...) will link to the correct entry in "std Namespace Reference" (which is just a line of the definition, and not linked to anything useful either) but not the description on the "Mutating" page (which is the first suggestion when searching for 'fill' via the index).
Please ignore the two links that are still at the top of that page though, those either completely lock-up the help system (docs.google.com) or just don't provide context sensitive help (en.cppreference.com).
Unfortunately, cppreference docs don't support navigation with F1.
I have ported over some code from a Windows application to Monotouch.
It is using ASMX Web Services to talk to some API.
The code fails on Monotouch 5 because the method
System.Web.Services.Protocols.SoapHttpClientProtocol.GetWriterForMessage()
is never called.
I have seen that in Mono you will even get a NotImplementedExeption but not in Monotouch. It simply gets ignored.
I need to find a way around this. I have to add custom headers to make the solution work.
Any workarounds or maybe is there even a chance that this will be fixed soon?
(I also filed a bug report, but I'm asking here because I am desperately looking for a workaround).
EDIT:
I found kind of a workaround but it is very annoying to use.
In the auto generated reference file you will have to decorate each and every method with
[SoapHeader( "SessionKeyHeader", Direction = System.Web.Services.Protocols.SoapHeaderDirection.InOut )]
Then implement the custom soap header class but skip the GetXmlWriter() method.
A bug has been filed at Xamarin about this issue.
I am trying to modify the PartCover source code to exclude coverage by method. However,it looks like the main logic is in the c++ code. Since it is not possible to step into the cpp code while debugging,can someone please guide me as to which files I would need to modify? I am thinking it should be rules.cpp and instrumentator.cpp...and some refactoring needed in other .cpp .h and .cs files due to changes made in these. But If I am wrong, or if there are other places that I should also be looking at, please let me know. Any other hint to proceed would also be appreciated.
Thanks,
Thanks for your reply.
However, uncommenting the DebugBreak is causing the nunit-console-86.exe to stop working. I changed the NUnit version to 2.5.7 to match it with the version of nunit-framework.dll inside the PartCover bin folder, but the problem still exists. Any idea what could be causing this?
We have our own console app that runs coverage check method wise. It makes sure if any new method is added, or code in existing methods refactored, the coverage still should be at least more than our decided percentage. Sometimes there are methods for which testing cannot be done completely for whatsoever reason. For those, it doesn't make sense to exclude the entire class.
The files you have mentioned are probably the best places in the C++ code to apply your extra filter. I assume you have a way of extending the syntax currently used for include and exclude filters of modules and classes.
You can debug the code if you uncomment the DebugBreak in CorProfiler::Initialize (when you .NET process runs and the profiler is loaded this will allow you to attach a C++ debugger to the profiler)
May I ask why you need to exclude specific methods? I can see the need to exclude classes i.e. Test Classes and the like but not specific methods, this seems like something that could be easier done if necessary be just ignoring the results in any reports.