idebug command

ngaix.gif (1051 bytes)ngwin.gif (1069 bytes) The idebug command starts both the Distributed Debugger interface and the debug engine when debugging a program locally. When debugging remotely, it is used to connect to a debug engine daemon on a remote system or to start the Debugger user interface as a daemon on your local system.

ngaix.gif (1051 bytes)ngwin.gif (1069 bytes) The idebug command has the following syntax for AIX or Windows:

idebug [idebug_options] [local_debug_parameters | remote_debug_parameters | ui_daemon_parameters] [--] [program_name [program_parameters]]

This page contains discussions of the following categories of idebug parameters:

Basic idebug parameters

The idebug_options are zero or more of the following:

Option Purpose
-a process_id Attach to the already running process process_id.

ngjava.gif (225 bytes) Use a process_id of 0 (zero) when attaching to a Java Virtual Machine (JVM).

-a Invoke the Attach dialog.
-s This option can only be used in conjunction with -a.

Prevents the Debugger from stopping in the first debuggable statement in the program. Program execution only stops when the first set breakpoint is encountered.

This option requires that the program you want to debug has program profile information available. If no program profile information is available, or you specify the -p- option, the program will run to completion.

ngos2.gif (402 bytes) -c child_process_id Start debugging the specified child process of the program being debugged. This option only applies to the program you are debugging on OS/2, and is ignored on other platforms.
-h or -? Display help for the idebug command.
-i Start the Debugger in the system initialization code that precedes the call to the main entry point for the program.

ngcpp.gif (202 bytes) This can be useful if you need to debug the constructors for static class objects.

This option is not supported when debugging interpreted Java programs.

-p+ Use program profile information. The Debugger will restore the monitors, fonts, and breakpoints that were associated with your program during its last debug session. If you are debugging the program for the first time, the Debugger windows start up with their default appearance, and no breakpoints are set.

Any changes you make to the monitors and breakpoints are saved.

Note: If you add or delete lines in your source file, recompile it, and then debug the program again with a saved program profile, line breakpoints may no longer match the code they were initially set for because line breakpoint information is saved by line number, not by the content of the line.

If the Debugger has saved a profile of the breakpoint and monitor settings from a previous debug session for this program, the profile is used to restore those settings.

This is the default setting for the Debugger.

-p- Do not use program profile information. The Debugger ignores any program profile information, and the Debugger windows start up with their default appearance, and no breakpoints are initially set.
-qquiet Suppresses the splash screen when the Debugger starts. Also suppresses the Debugger daemon waiting dialog when used with the -qdaemon and -quiport options.
-qnewsession Starts a new debug session rather than reusing an existing session.
-qterminate Closes any running Debugger user interfaces or user interface daemons.

Local debug parameters

Use the local_debug_parameters when you want to start debugging a program on your local system. If a parameter is not specified in the command, the default is assumed.

The local_debug_parameters are:

Parameter Description
ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)-qlang -qlang=dominant_language

Specifies the dominant programming language to use for debugging. The valid values are shown in the table below:

Value Use to when debugging:
c C programs
cpp C++ programs

High Performance Compiled (HPC) Java programs

java Interpreted Java programs
ngjava.gif (225 bytes) -classpath -classpath=path

Specifies a temporary classpath for the Debugger to use to find the Java classes you are debugging. This parameter can only be used when debugging interpreted Java programs.

If this is not specified, the Debugger uses your present CLASSPATH environment variable setting to find the Java classes you are debugging.

ngjava.gif (225 bytes) -qfilter

-qfilter=filename

Specifies the file that lists the packages not to be debugged.

ngjava.gif (225 bytes) -qjvmargs -qjvmargs=jvm_arguments

Specifies the arguments passed to the JVM that will run the program you want to debug. If you specify more than one option, enclose the list of options in quotation marks. This parameter can only used when debugging interpreted Java programs.

-password -password=jvm_password or jvm_port

Specifies the agent port or password provided by the Java Virtual Machine (JVM) upon startup. Used in conjunction with -host and -a0 to attach to a running JVM. This password is printed when you start your Java program using one of the following commands:
· For Java 1.1.x, use the java_g -debug command.
· On the Java 2 platform, use the java -Xdebug command.

-host

-host=jvm_hostname

Specifies the name or address of the machine where the Java Virtual Machine(JVM) that you wish to attach to is running. If the JVM is running on the same machine where the user interface will run, use "localhost". Used in conjunction with -password and -a0.

Remote debug parameters

Use the remote_debug_parameters when you want to connect to a debug engine daemon on a remote system. If a parameter is not specified in the command, the default is assumed.

The remote_debug_parameters are:

Parameter Description
ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)-qhost -qhost=remote_host

Required parameter that specifies the TCP/IP name or address of the machine where the debug engine is running.

ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)-qport -qport=host_port

Specifies the port number on the machine where the debug engine is running. The default port is 8000. This port number must match the port number used in the -qport parameter of the irmtdbgc command.

ngjava.gif (225 bytes) This port number must match the port number used in the -qport parameter of the irmtdbgj command.

-qlang -qlang=dominant_language

Specifies the dominant programming language to use for debugging. The valid values are shown in the table below:

Value Use when debugging:
c C programs
cpp C++ programs

High Performance Compiled (HPC) Java programs

java Interpreted Java programs

Parameters to use the Debugger user interface as a daemon

The ui_daemon_parameters are used when starting the Distributed Debugger user interface as a daemon. When running as a daemon, the Distributed Debugger user interface listens on a specific port number for a debug engine. Once a connection is made, the Distributed Debugger user interface appears and you can begin debugging your program. The ui_daemon_parameters are:

Parameter Description
-qdaemon Tells the Distributed Debugger user interface to run as a daemon. You must use the -quiport option when specifying -qdaemon.

If this option is not specified, the Distributed Debugger does not listen for connections from Debugger engines.

-qlang -qlang=dominant_language

Specifies the dominant programming language to use for debugging. The valid values are shown in the table below:

Value

Use when debugging:

c C programs
cpp C++ programs
java Interpreted Java programs
-quiport -quiport=port

Specifies the port numbers where the Distributed Debugger user interface daemon should listen for a debug engine. You can specify a single port or multiple ports. When specifying multiple ports, <port> must be a comma-delimited list of port numbers.

This option is required when using the -qdaemon option. There is no default port number.

One of the port numbers specified here must be used as the port number for the -quiport parameter of the irmtdbgc command.

ngjava.gif (225 bytes) One of the port numbers specified here must be used as the port number for the -quiport parameter of the irmtdbgj command.

-qterminate Closes any running Debugger user interfaces or user interface daemons.

Program name parameters

Use the "--" parameter to separate Debugger options and parameters from the program name and parameters. Use this option if your program name or parameters include forward slashes ("/") or dashes ("-"). If you do not use this option, anything preceded by a slash or a dash will be interpreted as a Debugger option.

If you do not specify program_name when issuing the idebug command, the Debugger will prompt you for the required information in the Load Program dialog.

ngrelt.gif (466 bytes)
Starting the Debugger for local debugging
ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)Starting the debugger for debugging compiled languages remotely
ngaix.gif (1051 bytes)ngwin.gif (1069 bytes)Starting the debugger for debugging interpreted Java remotely
ngjava.gif (225 bytes)Attaching to a running Java Virtual Machine

ngrelr.gif (548 bytes)
irmtdbgc command
ngjava.gif (225 bytes)irmtdbgj command
ngjava.gif (225 bytes)Supported Java Virtual Machine arguments