Breakpoints
An SPU thread share group, as with a process share group, can share breakpoints across threads. That is, when you plant a breakpoint in one thread in the share group, TotalView can plant it in all members.
 
Figure 240: Action Point Properties Dialog Box
Breakpoints can be in a pending state; if TotalView cannot assign a breakpoint to an address because an SPU executable is not yet loaded, TotalView waits until it can set the breakpoint.
When the PPU thread loads an SPU executable into an SPU context, execution stops and you are prompted to set a breakpoint if you wish, Figure 241.
Figure 241: Stop to Set Breakpoints Question
To control the launch of this popup, use the following CLI variables:
*TV::ask_on_cell_spu_image_load
*TV::cell_spu_image_ignore_regexp
*TV::cell_spu_images_stop_regexp
These variables are described inTotalView Variables,”in the TotalView Reference Guide.
To create a breakpoint in SPU threads, select Yes. Then select an SPU thread. You can now navigate within this code and set breakpoints.
When you exit from your program or when you manually save breakpoints, TotalView writes breakpoints for each SPU thread share group. The next time your program loads an SPU executable into an SPU context, these breakpoints are read back in.
Within the CLI, your focus determines if the breakpoint is shared or unshared. For example::
Focus
Type of Breakpoint
dfocus t 1.-1 dbreakpoint main
Unshared breakpoint
dfocus p 1.-1 dbreakpoint main
Unshared breakpoint
dfocus d 1.-1 dbreakpoint main
Shared breakpoint
dfocus g 1.-1 dbreakpoint main
Shared breakpoint