Product Documentation

Knowledgebase

Previous Topic

Next Topic

Solaris

In This Section

Heap Debugging on Solaris 9+ Operating Systems

Previous Topic

Next Topic

Heap Debugging on Solaris 9+ Operating Systems

You can enable heap debugging for the FairCom DB process by setting these environment variables before startup.

export LD_PRELOAD=libumem.so.1

export UMEM_DEBUG=default

export UMEM_LOGGING=transaction

This is a low overhead malloc() debugging method, suitable for a production environment experiencing possible heap corruption. With the above options, it will check some guard zones for memory overwrites on alloc/free.

It also has many commands when a core generated with libumem is used with the mdb debugger.

::umem_status and ::umem_verify are useful, and the complete list of dcmds can be found in mdb by executing:

> ::dmods -l libumem.so.1

man umem_debug has more details.

watchmalloc is another malloc debugging library on Solaris that detects memory overwrites more reliably, however, runs very slowly and is not useful in a production environment.

TOCIndex