|Re: [eigen] MSVC debug tools|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] MSVC debug tools
- From: Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>
- Date: Mon, 21 Dec 2009 19:12:49 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type; bh=CQ8dkQxWdE/8CgS4I5eL0B7ArxY3JEx2+DtP/c9efF0=; b=cHBKlv1CZFX2NOJ/LuoZX/xiuxgZH1+TRVnHSu49Ky/AvJAgPQK9iy58m15gORxDyf XJpeQolD99HH+E9k7gzu3QgcNEXb6sCZE5jPL8tXHnUgxz0FMvG0vRR+f9PA6okeOEd6 PNt9EefG/47lT8X2SXzJZqr1KJathWYczf5YU=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=a6qt0TA7mEVaI7sP+mqzy1gZcmbudqui6nKnSqyFGeEd6OdPTMOU6IFw6ZT6dGwrfs z6XZRhsVQSAKnteBi0cLsKSP0aGZL+2bmAgOo7u5DtKsFTH9KcmLASQiNzsXeasUkR+7 V+lyjtEaL5/vnsfT8VgBXL8bbRF/SjDJ8duQ4=
On Mon, Dec 21, 2009 at 5:17 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
2009/12/21 Björn Piltz <bjornpiltz@xxxxxxxxxxxxxx>:
The example you just pointed out shows that there isn't a
> Add a to greedy one, and suddenly the debugger
> will act very unpredictably. Also, different developers have different
> needs. For example I thought about adding "operator::new" since I almost
> always want to step directly into the ctor and not into new(), but with
> Eigen doing all this magic with overloaded new, aligned and unaligned
> mallocs, sometimes you do want to know which function is actually called.
> So the reason I started this thread was to find out which set of functions
> to be included if we add this file to the Wiki.
one-size-fits-all set of functions to avoid.
As you noted, the meta selectors are among the functions one is the
least likely in wanting to debug into, but there are many of them, if
we added them all we already would have a big .reg file, that would be
aa lot of effort, and that would still cover a small fraction of what
a given person wants to avoid.
Yes, I agree with that! However, it is always interesting to provide a
> We could also just document the feature and give some examples and leave it
> to the developer to make the changes.
minimalistic eigen.reg with a few functions that come by very
frequently. I agree that ei_assign_selector::run is such a function.
There also is derived() and const_cast_derived() in MatrixBase,
_check_template_params() in Matrix...
This whole topic is why I actually don't use this feature at all. You
never know which functions you would want to be able to debug into.
E.g. the ei_assign_selector::run() is something I would not add to my list of functions to ignore - during some debugging it was important for me to see with which template parameters the function was instantiated. It simply depends on which level you want to debug and thus I agree with Benoit that at most we need a tiny example in the repository. I personally would prefer the dev-corner...