Go to main content
Oracle® Developer Studio 12.6: Debugging a Program with dbx

Exit Print View

Updated: June 2017
 
 

stop Command

The stop command sets a source-level breakpoint.

Syntax

The stop command has the following general syntax:

stop event-specification [modifier]

When the specified event occurs, the process is stopped.

Native Mode Syntax

This section describes some of the more important syntaxes that are valid in native mode. For information about additional events, see Setting Event Specifications.

stop [ -update ]

Stop execution now. Only valid within the body of a when command.

stop -noupdate

Stop execution now but do not update the Oracle Developer Studio IDE Debugger windows.

stop access mode address-expression [,byte-size-expression ]

Stop execution when the memory specified by address-expression has been accessed. See also Stopping Execution When an Address Is Accessed.

stop at line-number

Stop execution at line-number. See Setting a Breakpoint at a Line of Source Code.

stop change variable

Stop execution when the value of variable has changed.

stop cond condition-expression

Stop execution when the condition denoted by condition-expression evaluates to true.

stop in function

Stop execution when function is called. See Setting a Breakpoint in a Function.

stop inclass class-name [ -recurse | -norecurse ]

C++ only: Set breakpoints on all member functions of a class, struct, union, or template class. -norecurse is the default. If -recurse is specified, the base classes are included. See also Setting Breakpoints in All Member Functions of a Class.

stop infile file-name

Stop execution when any function in filename is called.

stop infunction name

C++ only: Set breakpoints on all non-member functions name.

stop inmember name

C++ only: set breakpoints on all member functions name. See Setting Breakpoints in Member Functions of Different Classes.

stop inobject object-expression [ -recurse | -norecurse ]

C++ only: set breakpoint on entry into any non-static method of the class and all its base classes when called from the object object-expression. -recurse is the default. If -norecurse is specified, the base classes are not included. See Setting Breakpoints in Objects.

line-number is the number of a source code line.

function is the name of a function.

class-name is the name of a C++ class, struct, union, or template class.

mode specifies how the memory was accessed. It can be composed of one or all of the letters:

r

The memory at the specified address has been read.

w

The memory has been written to.

x

The memory has been executed.

mode can also contain the following:

a

Stops the process after the access (default).

b

Stops the process before the access.

name is the name of a C++ function.

object-expression identifies a C++ object.

variable is the name of a variable.

The following modifiers are valid in native mode.

–if condition-expression

The specified event occurs only when condition-expression evaluates to true.

–in function

Execution stops only if the specified event occurs during the extent of function.

–count number

Starting at 0, each time the event occurs, the counter is incremented. When number is reached, execution stops and the counter is reset to 0.

–count infinity

Starting at 0, each time the event occurs, the counter is incremented. Execution is not stopped.

–temp

Create a temporary breakpoint that is deleted when the event occurs.

–disable

Create the breakpoint in a disabled state.

–instr

Do instruction-level variation. For example, step becomes instruction level stepping, and at takes a text address for an argument instead of a line number.

–perm

Make this event permanent across debug. Certain events (like breakpoints) are not appropriate to be made permanent. delete all will not delete permanent handlers. To delete permanent handlers, use delete hid.

–hidden

Hide the event from the status command. Some import modules might choose to use this. Use status -h to see them.

–lwp lwp-ID

Execution stops only if the specified event occurs in the specified LWP.

–thread thread-ID

Execution stops only if the specified event occurs in the specified thread.

Java Mode Syntax

The following specific syntaxes are valid in Java mode.

stop access mode class-name.field-name

Stop execution when the memory specified by class-name.field-name has been accessed.

stop at line-number

Stop execution at line-number.

stop at filename:line-number

Stop execution at line-number in filename.

stop change class-name.field-name

Stop execution when the value of field-name in class-name has changed.

stop classload

Stop execution when any class is loaded.

stop classload class-name

Stop execution when class-name is loaded.

stop classunload

Stop execution when any class is unloaded.

stop classunload class-name

Stop execution when class-name is unloaded.

stop cond condition-expression

Stop execution when the condition denoted by condition-expression evaluates to true.

stop in class-name.method-name

Stop execution when class-name.method-name has been entered, and the first line is about to be executed. If no parameters are specified and the method is overloaded, a list of methods is displayed.

stop in class-name.method-name([parameters])

Stop execution when class-name.method-name has been entered, and the first line is about to be executed.

stop inmethod class-name.method-name

Set breakpoints on all non-member methods class-name.method-name.

stop inmethod class-name.method-name ([parameters])

Set breakpoints on all non-member methods class-name.method-name.

stop throw

Stop execution when a Java exception has been thrown.

stop throw type

Stop execution when a Java exception of type has been thrown.

where:

class-name is the name of a Java class.. You can use either of the following:

  • The package path using a period (.) as a qualifier; for example, test1.extra.T1.Inner

  • The full path name preceded by a pound sign (#) and using slash (/) and dollar sign ($) as qualifiers. For example, #test1/extra/T1$Inner. Enclose class-name in quotation marks if you use the $ qualifier.

condition-expression can be any expression, but it must evaluate to an integral type.

field-name is the name of a field in the class.

filename is the name of a file.

line-number is the number of a source code line.

method-name is the name of a Java method.

mode specifies how the memory was accessed. It can be composed of one or all of the letters:

r

The memory at the specified address has been read.

w

The memory has been written to.

mode can also contain the following:

b

Stops the process before the access.

The program counter will point at the offending instruction.

parameters are the method’s parameters.

type is a type of Java exception. -unhandled or -unexpected are valid values for type.

The following modifiers are valid in Java mode:

–if condition-expression

The specified event occurs only when condition-expression evaluates to true.

–count number

Starting at 0, each time the event occurs, the counter is incremented. When number is reached, execution stops and the counter is reset to 0.

–count infinity

Starting at 0, each time the event occurs, the counter is incremented. Execution is not stopped.

–temp

Create a temporary breakpoint that is deleted when the event occurs.

–disable

Create the breakpoint in a disabled state.

See stopi Command for information about setting a machine-level breakpoint.

For a list and the syntax of all events, see Setting Event Specifications.