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
source <install-dir-path>/bin/idbvars.sh (.csh)
Graphical User Interface (GUI)
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, e. g.:
(idb) set $cmdset="gdb"
All platforms:
Debugging
multi-threaded applications
Improved gdb compatibility
Multi-threaded applications no longer need to be linked statically (using the flag -static).
The debugger provides greater command-line and debugger output
compatibility with GDB.
All platforms:
Debugging multi-threaded
applications
Debugging
multi-process applications, including programs that fork
Itanium®:
Running on Enterprise Linux 3.0
Running on Itanium (not Itanium 2) based systems
Pentium®:
Debugging functions in shared libraries
When debugging multi-threaded applications, probing mutexes and
condition variables is not yet supported. Also, the pthread command is not supported on
this platform.
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
This version of the debugger provides a pre-release of the
GUI. As such, a series of issues are noted below.
At the bottom of the window, there is a command line combo box
labeled "Enter Debugger command":
Entering Return with an empty command line repeats the previous command.
To restore an earlier command, press the up-arrow or
down-arrow key until the desired command appears, or (if unsuccessful)
press the F4 key to pop up the full history list. The
command can then be edited.
The conventional flashing cursor in text-input fields is not consistently displayed in many cases.
Watch/wait cursors are not displayed during long operations. Wait for output before proceeding.
The source file browsing dialog box may not appear for a long time if the application's debug information describes a large number of source files.
The text displayed in the source viewer while a large application is being loaded suggests that no application has yet been specified. A continually-changing "Loading" label in the top right hand corner confirms that the specified application is currently being loaded.
Only an English-language version is currently available.
Clicking the Up button when the last or bottom stack frame is selected, causes the selection to shift to the first or top stack frame.
Holding down a mouse button on controls does not repeat the action. Click once per desired repetition.
Attempts to Paste into a read-only text field are silently ignored.
If a dialog box is displayed, and then iconified, repeated attempts to display the dialog through a menu option, does not raise the dialog. Diconify the dialog to make it appear.
Clicking the OK button in the New Target panel just hides the panel if no filename is displayed in the text input field. To bring back the panel, select the New Target... item from the File menu.
The OK button in the New Target panel is disabled if text is deleted from the text input field, and it is not enabled again if a filename is chosen using the Browse... button. The OK button may be enabled by editing (eg entering and deleting) text or by hiding and restoring the panel.
After starting the target application (by pressing the Return key or one of the Run buttons), the application may run without the debugger updating its display, either fully or partially. Restart the application until the display responds.
Pressing the Return key after typing text in the Breakpoint Wizard does not commit the input. Click the Finish button instead.
When using the Breakpoint
wizard to create signal based breakpoints, the signal selected is not
the signal that gets used (the next one in the list actually gets
used). Selecting the last signal in the list results in an
assertion.
When running the target application with arguments from the command line, pressing the Run button later doesn't re-use these arguments. If you use the Run-Args pane the arguments are re-used.
After loading a core file, use the "where" or "t" commands to view a trace of stack frames in the Debugger Output panel, and use the source viewer's Browse button to see the source code for frames other than #0.
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.
The debugger does not support Enterprise Linux 3.0 on Itanium®
processors.
This version of the debugger may contain instructions inside the executable binary
which are not supported by the Itanium® processor and the operating system has
to emulate their behavior.
But some out-of-date Linux kernels don't support this in the Illegal Operation Fault handler.
The kernel needs to be upgraded in case of the IDB crash with the
" Illegal Instruction " message (SIGILL signal).
(Look at the
"Intel® Itanium® Architecture Software Developers Manual " for details)
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 or 9.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. |