Using SoftBench Debugger

Setting C++ Breakpoints

Setting C++ Breakpoints

When you debug a C++ program, SoftBench Debugger provides some additional breakpoint settings.

"Break: Set at Class ( )" SoftBench Debugger sets breakpoints on all member functions of all instances of the specified class.

"Break: Set at Overloaded ( )" SoftBench Debugger sets breakpoints on all functions with the specified name. Use this when your program defines multiple functions with the same name.

"Break: Set at Template ( )" SoftBench Debugger sets breakpoints on all member functions created by the specified template.

"Break: Set at Instance ( )" SoftBench Debugger sets breakpoints on all member functions of the specified instance.

When you set a breakpoint on a function which has been declared inline, it may or may not be accepted, depending on whether the compiler has made all calls to that function inline. If any calls to this function were inlined, the breakpoint does not occur at that particular call. All calls which were not inlined break as expected. To avoid this problem, recompile your code with the +d option which prevents the expansion of all inline functions.

Setting Group Breakpoints

Setting breakpoints on C++ components from SoftBench Debugger either from the "Break: Set at…" menu, or using the "Breakpoint Set" dialog, may result in the creation of several DDE breakpoints. These breakpoints comprise a "group" and may be manipulated individually or as a group.

Viewing and Modifying Group Breakpoints

Groups may be "expanded" and "collapsed" by double-clicking on them. A "+" in the first column indicates that SoftBench Debugger has currently expanded the group, and a "-" indicates that it has expanded the group. When SoftBench Debugger has expanded a group, individual breakpoints within the group can be selected then deleted, activated, or

Chapter 7

197