Debugging Tools for Windows

Breakpoints

The Breakpoints section enables you to define the breakpoints that you want to monitor and to configure the actions that you want the debugger to take when these breakpoints are hit.

    <Breakpoints>
      <NewBP>
          <Address> Address </Address>
          <Type> BP | BU | BM } </Type>
          <Passes> Passes  </Passes> 
          <Actions> Actions  </Actions> 
          <CustomActions> CustomActions  </CustomActions> 
          <ReturnAction> G | Q | QD } </ReturnAction> 
       </NewBP>  
       <Config>
          <Address> { Address | AllBreakpoints } </Address>
          <Actions> Actions  </Actions> 
          <CustomActions> CustomActions  </CustomActions> 
          <ReturnAction> G | Q | QD } </ReturnAction> 
       </Config>  
    </Breakpoints>

The <NewBP> tag enables you to define new breakpoints. The <Config> tag enables you to define the behavior for breakpoints that are already defined.

All of the subtags of <NewBP> and <Config> are optional, except for <Address>.

You can use the following parameters:

Address
Uses the debugger syntax (MyModule!MyClass::MyMethod). You can separate multiple addresses by semicolons.
{ BP | BU | BM }
Defines which debugger command should be used to create the breakpoint. The default value is BP.

If you use BM, you can define multiple breakpoints at the same time by using wildcard characters in the address. For example, you could define the address as Advapi32!Crypt*. This syntax creates a breakpoint in all functions in Advapi32.dll that begin with Crypt.

Passes
Specifies the number of hits to ignore before breaking into the debugger.
Actions
Specifies the actions that you want to include. Separate multiple actions with semicolons, as follows.

<Actions> MiniDump;Stack</Actions>

You can use the following case-sensitive actions:

Log
Adds a log entry that is related to the exception.
EventLog
Adds an event log that is related to the exception.
MiniDump
Creates a minidump.
FullDump
Creates a full dump.
MiniDumpOver
Creates a minidump and overwrites multiple instances for the same exception.
FullDumpOver
Creates a full dump and overwrites multiple instances for the same exception.
Stack
Lists the faulting call stack into the log.
Stacks
Lists all thread call stacks into the log.
LoadedModules
Lists all loaded modules.
MatchingSymbols
Lists all modules with matching symbols.
Void
Does nothing.
CustomActions
Specifies any debugger commands. Separate multiple actions with semicolons. You can include any debugger commands that are available in CDB.

<CustomActions>!runaway;!heap</CustomActions>

{ G | Q | QD }
Specifies how to return from the debugger after the breakpoint is done. These parameters work like the g, q, and qd debugger commands. QD is supported only in Microsoft Windows XP and later versions of Windows.
Build machine: CAPEBUILD