Please enable JavaScript to view this site.

Altova MapForce 2020 Professional Edition

Debugging Mappings

Adding and Removing Breakpoints

Scroll Home Prev Top Next More

Breakpoints are designated milestones at which the mapping should break during execution in debug mode. Any breakpoints you create are stored globally for all mappings and are displayed in the Breakpoints window. Breakpoints are valid until you either explicitly delete them, or close MapForce.

 

Note:Breakpoints cannot be added on any of the following entities: constants, the core | position function, descendent items of "Copy-all" connections, parameters of "inline" user-defined functions.

 

Breakpoints can be simple or conditional. Simple breakpoints stop the mapping execution unconditionally. Conditional breakpoints stop the mapping execution only when the condition assigned to them is satisfied. Conditions take the form of MapForce built-in library functions to which you supply custom values. In other words, if the condition returns true, the breakpoint will stop the mapping execution.

 

 

To create a simple breakpoint, do one of the following:

Right-click an input or output connector (the small triangles to the left or right of a component), and select Debugger Breakpoint.

Click an input or output connector, and then press F9.

 

 

To create a conditional breakpoint:

1.Right-click a connector, and select Breakpoint properties.

dlg_debug_conditional_breakpoint

2.Click to select both the Breakpoint and Condition check boxes.

3.Select the required function from the list, and enter the function value (if applicable). For example, in the example above, the breakpoint will stop the mapping execution if the value passing through it is greater than 2.

If the data type of the connector where you add the conditional breakpoint does not match the type(s) expected by the function, MapForce will attempt to convert the data type automatically. If automatic conversion is not possible, mapping execution will fail. To avoid this, make sure to use compatible data types. For example, the function core.starts-with expects a string value, so the breakpoint's connector must have the same type.

 

Removing breakpoints

To remove a breakpoint, right-click the connector on which the breakpoint exists, and select Debugger Breakpoint. Alternatively, click the input or output connector on which the breakpoint exists, and then press F9.

 

You can also remove breakpoints from the Breakpoints window (see Using the Breakpoints Window ).

 

Unreachable breakpoints

There may be cases when MapForce displays a "Breakpoints cannot be reached" message:

debug_cannot_reach_braeakpoint

This indicates that breakpoints cannot be reached by the debugger, because of one of the following reasons:

 

A breakpoint has been defined on a connector that does not take part in the mapping.

The breakpoint cannot be reached by MapForce because of execution optimizations (see Limitations).

 

Click Continue to advance to the next defined breakpoint (or go to the end of debugging execution). Click Step to start debugging in steps.

 

You can disable notifications about unreachable breakpoint encountered by the debugger, either by clicking Don't show this message again, or as follows:

 

1.On the Tools menu, click Options.

2.Click Messages.

3.Click to clear the Inform about unreachable breakpoints check box.

© 2019 Altova GmbH