T.R | Title | User | Personal Name | Date | Lines |
---|
3603.1 | first reaction... | WIBBIN::NOYCE | Pulling weeds, pickin' stones | Wed Jun 04 1997 14:45 | 7 |
| As I'm sure you know, segv's in malloc are most often caused by
user bugs that overwrite the data structures malloc uses to keep
track of its heap. Look for overrunning the ends of arrays,
using memory after it's been freed, using ininitialized pointers,
returning the address of automatics that no longer exist, etc.
Perhaps Third Degree could help.
-- Bill
|
3603.2 | | PADC::KOLLING | Karen | Wed Jun 04 1997 15:13 | 3 |
| What's Third Degree? I did a dir title and came up with zippo.
Thanks.
|
3603.3 | Glad you asked ... (Third Degree) | DECC::SULLIVAN | Jeff Sullivan | Wed Jun 04 1997 15:43 | 19 |
| ATOM's third degree (available on Digital UNIX V4.0 and later) can sometime help
find memory overwrites. I've used it successfully several times to disprove
"compiler optimizer bugs" that were actually problems in the user's source code.
The advantage, I think, is that the problem is not masked by optimization level
("When I compile it -g, the problem goes away") or other such variables.
See also:
Programmer's Guide (chapter 7)
http://www.zk3.dec.com/~binder/platinum/AA-PS30D-TET1_html/peg8.html
Program Analyis web page:
http://www.zk3.dec.com/dude/program_analysis/
Hope it helps.
-Jeff
|
3603.4 | Also GPA, available (separately) with T5.6-009 kit | DECC::SULLIVAN | Jeff Sullivan | Wed Jun 04 1997 15:44 | 29 |
| If you like ATOM, you may also like GPA. I've been using ATOM for a while and
have just started using GPA, which is available (separately) with the DEC C++
T5.6-009 kit. I like it. It makes ATOM third degree and hiprof much easier to
use (read user-friendly).
See note TURRIS::C_PLUS_PLUS Note 3546 in this conference or
http://www.zk3.dec.com/decc/decc-kitinfo.html for info on how to get a copy.
From the announcement:
The Graphical Program Analysis Tools (GPA) are a new set of
standalone tools for examining the runtime behavior of a program.
The Profiler provides an easy-to-use, graphical interface for the
gprof, hiprof, pixie, & prof tools on Digital UNIX, used to find
performance problems. The Heap Analyzer provides an easy-to-use,
graphical user interface for the Third Degree tool on Digital UNIX,
used to find the causes of memory corruption, memory leaks, and
uses of uninitialized data. The Man Page Browser provides an
easy-to-use tool for viewing man pages, including hyperlinks to
related man pages. You must be running Digital UNIX V4.0 or higher
to use the Graphical Program Analysis Tools.
The initial GPA toolset consists of three standalone tools: Profiler,
Heap Analyzer, and Man Page Browser. If you are running the Common
Desktop Environment (CDE), you can click on the GPA icon to display
individual icons for each of the three tools.
-Jeff
|
3603.5 | | PADC::KOLLING | Karen | Wed Jun 04 1997 17:32 | 4 |
| I'm using atom. This is very helpful, thanks. Two bugs in
my program, one in another one, and some storage leaks in
Iostream...
|
3603.6 | Use -excobj libcxx.so to ignore libcxx complaints | DECC::SULLIVAN | Jeff Sullivan | Thu Jun 05 1997 11:59 | 19 |
| Re: .5
> some storage leaks in Iostream...
You can use -excobj libcxx.so to ignore problems in libcxx (unless of course,
you work on libcxx). The same is true for libc or any other "third party"
library that you may have no control over.
If you think the problems in Iostream are real, you could post them here.
See man atom(1) for details.
> I'm using atom. This is very helpful, thanks.
Tell two friends!
Also, try GPA (dxheap/dxprof). If you like third/hiprof, you should really like
these!
-Jeff
|