<div class="gmail_quote">On Tue, Jun 21, 2011 at 11:18, Koenraad Janssens <span dir="ltr">&lt;<a href="mailto:koen.janssens@psi.ch">koen.janssens@psi.ch</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<span style="font-size:11pt">Is there a way to check whether an object has been created? I noticed PetSc crashes when calling PCView on a declared PC that has not been created yet.<br>
<br>
<br>
PC pc1;<br>
PCView(pc1, PETSC_VIEWER_STDOUT_WORLD);</span></blockquote></div><br><div>No, pc1 has not been initialized. Compilers should warn about this, the latest releases usually do. If you initialize pc1 to NULL (e.g. when it is declared), then PETSc functions will give you an error message saying that it is NULL.</div>
<div><br></div><div>If this occurs in main, the stack will usually be cleared, in which case pc1 will automatically be NULL (but don&#39;t rely on this). In other functions, you have to expect that the stack is dirty. You can also run with valgrind which detects the uninitialized access.</div>