]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Update on Subcriptor stuff.
authorwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 11 May 2000 08:33:17 +0000 (08:33 +0000)
committerwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 11 May 2000 08:33:17 +0000 (08:33 +0000)
git-svn-id: https://svn.dealii.org/trunk@2836 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/doc/tutorial/chapter-2.step-by-step/step-6.data/results.html

index eb0fcead04c2cde59426cefe3ec294a6ec2c93ab..b3a7bbf59bb8922d26bc84857cefe3efa0c56300 100644 (file)
@@ -178,3 +178,41 @@ to store which other object subscribed to it. However, by thinking a
 little bit about which objects use the one that is presently
 destructed, one usually quite quickly finds out where the problem is.
 </p>
+
+
+<p>
+Versions after <acronym>deal.II<acronym> 3.0 give slightly better
+information in that they are at least able to tell which object is
+destructed. The output then looks like this:
+</p>
+<pre><code>
+--------------------------------------------------------
+An error occurred in line <20> of file <source/subscriptor.cc> in function
+    Subscriptor::~Subscriptor()
+The violated condition was:
+    counter == 0
+The name and call sequence of the exception was:
+    InUse()
+Additional Information:
+Object of class t4FEQ21i2 is still used by 1 other objects.
+--------------------------------------------------------
+</code></pre>
+</p>
+
+<p>
+This tells us, that the object that is presently deleted is of type
+<code>t4FEQ21i2</code>. Of course, this is not the actual name of the
+class, but what the C++ run time library returns as name; it is in
+fact the <it>mangled name</it> of the class, and you can get back the
+true class name by running the program <code>c++filt</code> on that
+name, which then returns <code>FEQ2&lt;2&gt;</code>. (The mangled name
+can be read without <code>c++filt</code> in the following way: the
+first letter tells us that the class name is a template, the second
+that the name of the class name without template arguments is four
+characters; we then already have <code>FEQ2&lt;...&gt;</code>. After
+the class name, the next character tells us that the class has one
+template parameter, the ``i'' indicates that it is of type ``int'' and
+finally that it has the value ``2''. Thus, we arrive at
+<code>FEQ2&lt;2&gt;</code>.)
+</p>
+

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.