Pending breakpoints

You can set standard execution breakpoints in a shared library but not until it is loaded by the application and the debug symbols are loaded into the debugger. Pending breakpoints however, enable you to set execution breakpoints in a shared library before it is loaded by the application.

A pending breakpoint is one that exists in the debugger but might not exist on the target until some precondition is met, such as a shared library being loaded. When a new shared library is loaded the debugger re-evaluates all pending breakpoints. Those with addresses that can be resolved are set as standard execution breakpoints. Breakpoints with unresolved addresses remain pending.

The debugger automatically changes any breakpoints in a shared library to a pending breakpoint when the library is unloaded by your application.

In the Breakpoints view you can force the resolution of a pending breakpoint. This might be useful if you have manually modified the search paths. To do this:

  1. Right-click on the pending breakpoint that you want to resolve.

  2. Click on Resolve to attempt to find the address and set the breakpoint.

If you want to manually set a pending breakpoint, use the -p option on any of the breakpoint commands, advance, break, hbreak, tbreak, thbreak. You can enter debugger commands in the Commands view.

For example:

break -p lib.c:20         # Sets a pending breakpoint at line 20 in lib.c

Show/hideSee also

Copyright © 2010 ARM. All rights reserved.ARM DUI 0446A
Non-ConfidentialID070310