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
Debugging multi-threaded applications
Optional Gdb-like user interface
Debugging massively parallel processing (MPP) applications
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.
All platforms:
Improved MPP Support and bug fixes
Improved Source File Correlation
Debugging multi-threaded applications
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:
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.
The debugger provides greater command-line and debugger output
compatibility with gdb.
Multi-threaded applications no longer need to be linked statically (using the flag -static). The debugger is now able to detect all thread events.
All platforms:
Debugging multi-process applications, including programs that fork
Itanium®:
Pentium®:
Debugging functions in shared libraries
Debugging multi-process applications is not yet supported. This includes debugging the child process of an application that calls fork.
Snapshots are not yet supported as described in the manual.
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 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.
A graphical user interface (Gui) is not yet provided as described in the manual.
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.
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.
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.
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).
|
Copyright © 2003 Intel Corporation, portions
© 2001 Compaq Information Technologies Group, L.P. 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. |