Intel® Debugger for Linux 

Release Notes for Version 7.2.2

Index

Introduction
Special Features
New enhancements and bug fixes
Known problems and restrictions
Legal Notices

Introduction

The Intel® Debugger (idb) is a fully symbolic debugger for the Linux platform. Key features allow you to:

The debugger supports the debugging of programs written in C, C++, Fortran, and Fortran 90.  The debugger allows evaluation of expressions using the syntax of the source programming language.

For full information about the the debugger, please refer to the following manual:

Intel® Debugger Manual

 


 

Special Features

Debugging multi-threaded applications

Optional Gdb-like user interface

Debugging massively parallel processing (MPP) applications

 

Debugging multi-threaded applications

Debugging of multi-threaded applications is now supported.

Optional Gdb-like user interface

Users that prefer the gdb command line interface have the option of switching on the gdb-like interface.  The gdb command set and debugger output are supported as described in the manual. To activate gdb mode, use either run the -gdb invocation command line option, or set the debugger variable $cmdset to gdb after starting the debugger.

Debugging massively parallel processing (MPP) applications

On Itanium® and Pentium® processors, debugging MPP applications compiled with mpich are supported as described in the manual (Chapter 19).  Support is of beta-level quality for this release. 

 

New Enhancements and Bug Fixes

All platforms:

Improved MPP Support and bug fixes

Improved Source File Correlation

Improved gdb compatibility

Debugging multi-threaded applications

Improved MPP Support and bug fixes

The MPP debugger now supports debugging parallel applications launched by both mpirun from MPICH and prun from RMS.

 Bug fixes for MPP include the following:

Improved Source File Correlation

The debugger now correctly identifies the source file where an identity was declared. For example, If file foo.h is included in foo.cxx, and int cfoo is declared in foo.h, then whatis cfoo will print foo.h instead of foo.cxx.  

Improved Gdb compatibility

The debugger provides greater command-line and debugger output compatibility with gdb.

Debugging multi-threaded applications

Multi-threaded applications no longer need to be linked statically (using the flag -static). The debugger is now able to detect all thread events.

Known problems and restrictions

All platforms:

Debugging multi-process applications, including programs that fork

Snapshots

Debugging optimized code

Watchpoints

Gui

Itanium®:

Function Breakpoints

Slow in loading the debuggee

Pentium®:

Debugging functions in shared libraries

Running on Redhat 8.0

 

Debugging multi-process applications, including programs that fork

Debugging multi-process applications is not yet supported.   This includes debugging the child process of an application that calls fork.

Snapshots

Snapshots are not yet supported as described in the manual.

Debugging optimized code

Debugging optimized code is not yet fully supported. The debugger may not be able to see some function names, parameters, variables, or the contents of the parameters and variables when code is compiled with optimizations turned on.

Watchpoints

Watchpoints that are created to detect read access don’t trigger as documented in the manual.  Watchpoints that are created to detect write access don’t trigger when a value identical to the original has been written.  These restrictions are due to a limitation in the Linux operating system.

Gui

A graphical user interface (Gui) is not yet provided as described in the manual.

Function Breakpoints

On Itanium® processors, debugger breakpoints set in functions (via the stop in command) may not halt user program execution at the first statement.  This is due to insufficient information regarding the function prolog.  As a work around, use stop at to set a breakpoint on the desired statement.

Slow in loading the debuggee

On Itanium® processors, loading a debuggee can take a long time because the shared libraries contain huge amount of debug information for the symbols in the shared libraries. To speed up the loading process, use the command line flag –nosharedobjs when launching the debugger to disable the reading of symbolic information in the shared libraries. If later on in the debugging session you need the symbolic information for a certain shared library, say foo.so, enter the command   

         readsharedobj foo.so

to load the information. Alternatively, you can make skipping the debug information in the shared libraries the default behavior by setting the environment variable IDB_NOSHAREDOBJS to 1.

Debugging functions in shared libraries

On Pentium® processors, stepping into functions that are in shared libraries doesn’t always show the correct stack trace when executing a where command.  In these cases, executing a return will not cause execution to return to the correct place. The work around is to set a breakpoint on the desired return location (e.g. “<file>”:<line>), then issue the cont command.

Running on RedHat 8.0

On Pentium® processors, running RedHat 8.0, the compatibility C++ libraries should be installed in order for the debugger to function (compat-libstdc++-7.3-2.96.110).


Legal Notices

Copyright © 2003 Intel Corporation, portions © 2001 Compaq Information Technologies Group, L.P.
All Rights Reserved

Disclaimer: Information in this document is provided in connection with Intel products. No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted by this document. Except as provided in Intel's Terms and Conditions of Sale for such products, Intel assumes no liability whatsoever, and Intel disclaims any express or implied warranty, relating to sale and/or use of Intel products including liability or warranties relating to fitness for a particular purpose, merchantability, or infringement of any patent, copyright or other intellectual property right. Intel products are not intended for use in medical, life saving, or life sustaining applications.

This Intel® Debugger Release Note as well as the software described in it is furnished under license and may only be used or copied in accordance with the terms of the license. The information in this release note is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Intel Corporation. Intel Corporation assumes no responsibility or liability for any errors or inaccuracies that may appear in this document or any software that may be provided in association with this document. Except as permitted by such license, no part of this document may be reproduced, stored in a retrieval system, or transmitted in any form or by any means without the express written consent of Intel Corporation. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them.

Intel, Pentium, Pentium Pro, Itanium, MMX, Xeon, Celeron, and VTune are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.