2.3.40. DELETE

Deletes macros or one or more symbols from the symbol table.

Syntax

DELETE {symbol_name | \\ | \ | macroname} [,y]

where:

symbol_name

Specifies the symbol to be removed from the symbol table.

symbol_name\

Deletes the specified symbol and all symbols it owns (its child symbols).

root\\

Deletes all symbols of the specified root.

\\

Deletes all user-defined symbols of the base root.

\

Deletes all symbols of the current root.

macroname

Deletes the specified macro.

y

Specifies that DELETE can delete child symbols if the specified symbol has them. If this is not done, DELETE prompts for confirmation before deleting child symbols.

Description

The DELETE command deletes symbols from the symbol table associated with the current connection. Symbols are entered into the symbol table when an executable file containing them is loaded onto the connection using LOAD or RELOAD, and when you use the ADD command.

Deleting a symbol or group of symbols is useful if the program has changed, perhaps as a result of runtime patching of the executable. To change the memory location of a symbol such as an address label, you must first delete it and then add it again at the new location.

You can also use the DELETE command to delete debugger macros that you have created using the MACRO command.

You cannot use DELETE to delete debugger command aliases. Instead, define the alias to be nothing:

alias name=

Rules for the DELETE command

The following rules apply to the use of the DELETE command:

  • The DELETE command runs asynchronously unless in a macro.

  • If the DELETE command is used inside a macro, and you attempt to delete the macro containing the command, an error message is displayed.

  • All debugging information for that symbol is deleted, but program execution is unchanged.

    Note

    If you delete a symbol that is defined by your image, then you cannot perform various debugging tasks on that symbol, such as setting a breakpoint on that symbol. You must do a full load of the image to recover the debugging symbols.

  • Only program symbols, macros, and user-defined debugger symbols can be deleted from the symbol table. Predefined symbols, such as register names, cannot be deleted.

  • If more than one symbol exists with the same name, then RealView Debugger displays the error:

    Error: E0098: Cannot delete: more than one symbol with this name.

    You must specify the full symbol reference to delete it.

    For example, if you load a macro called sqr, and you have a function in your image called sqr, then to delete the macro you must enter:

    delete \\sqr

    Note

    To see all the definitions that exist for a symbol name, use the PRINTSYMBOLS command, for example:

    printsymbols sqr

  • If the specified symbol or macro has local symbols, confirmation is requested that you want to delete all the local symbols. Entering the ,y parameter provides this confirmation automatically.

See also

Copyright © 2002-2011 ARM. All rights reserved.ARM DUI 0175N
Non-ConfidentialID052111