Chief Software Engineer Debugging in SCIRun J. Davison de St. Germain Chief Software Engineer SCI Institute 801-581-4078 December 2003 dav@sci.utah.edu
Debuggers work (sometimes) Debugging is hard SCIRun is threaded... Debuggers are always behind the times... Get the pid (process id number) of the Module you are interested in: Module->Show Log (PID on title bar) Attach the debugger directly to that Thread
Print statements Sometimes you have to do it the old fashion way… Put in print statements liberally through the routine you are debugging You need only recompile the library with your module in it: Eg: gmake lib/libPackages_BioPSE_Dataflow_Modules_Forward.so
Memory Problems SCIRun has its own memory allocator Environment Variables: MALLOC_STRICT Marks memory and validates memory integrity MALLOC_TRACE [filename] Logs every memory allocation, de-allocation MALLOC_STATS [filename] Outputs a list of memory statistics at end of run To turn off SCIRun allocator, use: “--disable-sci-malloc” on configure line
Bugzilla Don’t go it alone! (…if you think it is a SCIRun Bug.) Enter bug into Bugzilla You will need to have a bugzilla account (use your email address) Or have us enter it for you http://software.sci.utah.edu/bugzilla/enter_bug.cgi Bugzilla reminds us (daily) of current bugs. It keeps you informed of the status of these bugs.
Questions? scirun-develop@sci.utah.edu