[vtkusers] How to debug a vtk class (single step in code)?

Julien Alizier (free.fr) julien.alizier at free.fr
Thu Oct 7 03:51:26 EDT 2004


Yes.
I am developping plugins for ParaView 1.2.1 with VTK 4.4. So it is mainly
adding new classes to VTK and ParaView.
I use only shared libs with VC++ 6 SP5 on XP and 2000. But I tried on XP w/
VC 7 and it worked.

And I don't need any dependency (except linking of course) to the original
ParaView/VTK projects.

I can step into any class, since I have built the external DLL with the
source, VC++ finds itself the right cxx file and steps into it.

What is happening when you "step into" ? Does it show you the assembly ? Or
does it just skip and go to the next line ?

-- Julien



----- Original Message ----- 
From: "Per R. Andresen" <pra at trivision.dk>
To: "'Julien Alizier (free.fr)'" <julien.alizier at free.fr>;
<vtkusers at vtk.org>
Sent: Thursday, October 07, 2004 9:34 AM
Subject: RE: [vtkusers] How to debug a vtk class (single step in code)?


Yes and yes:), and I've also made a dependency from the main project to the
project that contains the vtk class.

Are you able to single step into a vtk class? What is your configuration
(compiler, operation system, etc)?

/Per

-----Original Message-----
From: Julien Alizier (free.fr) [mailto:julien.alizier at free.fr]
Sent: 7. oktober 2004 09:26
To: Per R. Andresen; vtkusers at vtk.org
Subject: Re: [vtkusers] How to debug a vtk class (single step in code)?

Have you compiled yourself VTK's DLLs ? In Debug mode with the sources on
your hard drive ?

-- Julien


----- Original Message ----- 
From: "Per R. Andresen" <pra at trivision.dk>
To: "'Julien Alizier (free.fr)'" <julien.alizier at free.fr>;
<vtkusers at vtk.org>
Sent: Thursday, October 07, 2004 9:08 AM
Subject: RE: [vtkusers] How to debug a vtk class (single step in code)?


Dear Julien

Thanks for your reply. Unfortunately, I've already tried it. Both running
the exe-file as the active project and "letting" the DLL run the exe-file.
I've also placed a breakpoint at vtk<Class>->Update() in the main function
and tried to step into the class. The debugger correctly stops at the
breakpoint, but I'm not able to "step into" the class. This happens after
the class has been initialized with "SetNumberOfIterations" etc. (which
should ensure that the DLL is loaded).

None of it seems to work :( (I think it has something to do with the way the
class is allocated and called through the object factory).

/Per

-----Original Message-----
From: Julien Alizier (free.fr) [mailto:julien.alizier at free.fr]
Sent: 7. oktober 2004 08:19
To: Per R. Andresen; vtkusers at vtk.org
Subject: Re: [vtkusers] How to debug a vtk class (single step in code)?

Hi Per,

There are 2 ways in VC++ to debug shared libs :
1) The simpler (1 DLL) : Set your new dll as "Active Project". Set your
breakpoints wherever you want in your active project source files. When you
debug, specify the excutable you wish to run. The BP are then still active.
2) To step into multiple DLL : Set breakpoints where you want in your code.
Then set a breakpoint in the main executable or at the beginning of the
active project. Take care of setting it in a way that it insure that all DLL
are loaded at that point. When you'll run it in Debug, some breakpoints will
be disabled but not that one. So it will stop at that point. Press CTRL-B to
show the breakpoints dialog box. Check all checkboxes to re-enable your
disabled breakpoints. Run/Continue -> That's it!

Why : VC++ cannot set BP on a DLL that is not loaded. When this DLL is the
active project, VC++ will wait for it to be loaded before enabling BP.
Otherwise you'll have to wait for the DLL to be loaded and then set BP.

HTH

-- Julien


----- Original Message ----- 
From: Per R. Andresen
To: vtkusers at vtk.org
Sent: Thursday, October 07, 2004 1:27 AM
Subject: [vtkusers] How to debug a vtk class (single step in code)?


Dear VTK users,
I've wrote a VTK class and would like to single step (debug) the Execute()
function in debug-mode. It's possible to set breakpoints, but the
breakpoints change to "question marks" (meaning "A breakpoint cannot be set
because the code at this location is not loaded") when running the program.

I'm running on Win XP using MS Visual Studio 2003 .net and compiled VTK
(4.4) with shared libs. It should be possible to single step in DLL's
according to the Visual Studio manual but apparently not VTK classes. Is
this due to the VTK object factory? If so, how does one debug VTK classes
(hopefully not with print statementsJ)?

Thanks in advance,
Per



_______________________________________________
This is the private VTK discussion list.
Please keep messages on-topic. Check the FAQ at:
<http://public.kitware.com/cgi-bin/vtkfaq>
Follow this link to subscribe/unsubscribe:
http://www.vtk.org/mailman/listinfo/vtkusers




_______________________________________________
This is the private VTK discussion list.
Please keep messages on-topic. Check the FAQ at:
<http://public.kitware.com/cgi-bin/vtkfaq>
Follow this link to subscribe/unsubscribe:
http://www.vtk.org/mailman/listinfo/vtkusers











More information about the vtkusers mailing list