diff options
Diffstat (limited to 'TAO/CIAO/docs/Purify.html')
-rw-r--r-- | TAO/CIAO/docs/Purify.html | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/TAO/CIAO/docs/Purify.html b/TAO/CIAO/docs/Purify.html deleted file mode 100644 index fff258db120..00000000000 --- a/TAO/CIAO/docs/Purify.html +++ /dev/null @@ -1,72 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> -<html> - <head> - <title>Using Rational Purify with CIAO</title> - <!-- $Id$ --> - </head> - <body> - <h1>Using Rational Purify with CIAO</h1> - <p>This document is about using Purify with Visual Studio 7.1 to track down - memory leaks and other bugs in CIAO applications. For the Linux/Unix - environment, Valgrind is a better-suited tool - see Will Otte's documentation - on using Valgrind with CIAO in this directory.</p> - <p>Purify can be run from within Visual Studio, or standalone. The executable is - c:\Program Files\Rational\PurifyPlus\purifyw.exe. Typing this will bring up the - same Purify window you see if you run it from within Visual Studio. You can - install Purify from the web by going to <A href="file://\\Atlantis\software\RationSuiteEnterprise-v2003-06-12"> - \\Atlantis\software\RationSuiteEnterprise-v2003-06-12</A> and clicking - on <code>C57BPML.zip</code>. This will install a whole bunch of Rational stuff - by default, so you will probaby want to deselect everything but PurifyPlus, - although Quantify is a good bottleneck-finder when you're trying to improve - performance, so that might be worth installing and playing with as well. During - the installation process, you'll be prompted for a mode of licensing. Select - the use of a license server, and then you'll be prompted for its address. Use <code> - rational.vuse.vanderbilt.edu</code>.</p> - <p>The option to exclude all modules in Windows directories will probably be set - by default, but if you notice memory leaks reported for Windows stuff, you - might want to double check this and turn it off. From the PurifyPlus menu bar - item in Visual Studio, it's at <b>PurifyPlus->Purify->Settings->DefaultSettings->PowerCheck</b>. - When run for the first time, Purify will instrument all libraries linked to the - executable. Select <b>PurifyPlus->Purify->Run</b>, and a window will pop - up prompting you for the executable name, command line options, and working - directory.</p> - <p>Purify's output will appear in the Visual Studio text editing window. This - output can be saved to the given filename. The type of error reported is - indicated by a 3-letter code - the most common are UMR (Unitialized Memory - Read), FMM (Freeing Mismatched Memory), and MLK (Memory Leak). Each of these - can be expanded to show the call stack. The depth of the call stack can be - modified in Settings if it's not deep enough. FMM messages will show both - allocation and deallocation call stacks.</p> - Quite often in CIAO, we will want to Purify a process that is spawned by - another process, and therefore not directly runnable in Purify. This is fairly - easy to do, but it must be done from the command line. If the name of the child - process we want to instrument is <code>child.exe</code>, then it can be - instrumented by typing - <br> - <code>purifyw /Run=no /Replace=yes child.exe</code><br> - This will rename the original executable as <code>child.exe.Original</code>, - and the new instrumented executable will be <code>child.exe</code>. Now when - you run the parent process under Purify, you'll see one window opened up in - Visual Studio's text editor for this process, and when the child process is - spawned, a second window will open. A couple of caveats to make this work - smoothly: - <ul> - <li> - Instrumented executables run 2 to 5 times slower than uninstrumented ones, so - any timeouts in the code should be extended accordingly. For example, if an - instrumented NodeApplication is spawned by NodeManager, add <code>-d 15</code> or - <code>-d 20</code> - to NodeManager's command line. - <li> - If an instrumented process is simply killed, there will probably be many - spurious error messages, mostly related to ORB resources that were not cleaned - up by a graceful shutdown. All processes tested with Purify should have a - graceful shutdown built in to eliminate these bogus memory leak messages. - </li> - </ul> - <hr> - <address>Jeff Parsons</address> - <!-- hhmts start --> Last modified: Oct 3 2005 - <!-- hhmts end --> - </body> -</html> |