Maple Professional
Maple Academic
Maple Student Edition
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professional
MapleSim Academic
Maple T.A. - Testing & Assessment
Maple T.A. MAA Placement Test Suite
Möbius - Online Courseware
Machine Design / Industrial Automation
Aerospace
Vehicle Engineering
Robotics
Power Industries
System Simulation and Analysis
Model development for HIL
Plant Modeling for Control Design
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematics Education
Engineering Education
High Schools & Two-Year Colleges
Testing & Assessment
Students
Financial Modeling
Operations Research
High Performance Computing
Physics
Live Webinars
Recorded Webinars
Upcoming Events
MaplePrimes
Maplesoft Blog
Maplesoft Membership
Maple Ambassador Program
MapleCloud
Technical Whitepapers
E-Mail Newsletters
Maple Books
Math Matters
Application Center
MapleSim Model Gallery
User Case Studies
Exploring Engineering Fundamentals
Teaching Concepts with Maple
Maplesoft Welcome Center
Teacher Resource Center
Student Help Center
DEBUG - The Maple debugger breakpoint function
Calling Sequence
DEBUG(arg1, arg2,...)
Parameters
argN
-
(optional) any expression
Description
The DEBUG function has the effect of a breakpoint in Maple code. When the DEBUG function is executed, execution stops before the next statement executed, and the debugger function is invoked. If the debugger function returns anything other than NULL, the returned value is evaluated, and the debugger function is reinvoked.
The stopat function (and the stopat debugger command) set breakpoints by inserting a call to the DEBUG function before the statement at which the breakpoint is set. Such breakpoints can be removed using the unstopat function (or the unstopat debugger command).
A breakpoint can be inserted explicitly into the source code of a Maple procedure by inserting a call to the DEBUG function. Such breakpoints cannot be removed using the unstopat function (or the unstopat debugger command).
If the DEBUG function is passed any parameters, they are passed on to the debugger function for display when it is invoked. If no parameters are passed, the result of the previous computation is passed to the debugger function instead.
The DEBUG function returns NULL so as not to affect %, %%, and %%%. Therefore, inserting it as the last statement of a procedure will hide the return value of the procedure. It is not possible to use stopat to set a breakpoint after the last statement in a procedure.
Thread Safety
The DEBUG command is thread-safe as of Maple 15.
For more information on thread safety, see index/threadsafe.
Examples
Note: These examples illustrate the use of these debugger commands in Maple's command-line interface. In the standard (graphical) interface, the debugger runs in its own window, with controls for most of the common commands. See Interactive Maple Debugger for details.
f := proc(x,y) local a; a := x^2; DEBUG(); a := y^2; DEBUG(`Hello`); a := (x+y)^2 end proc:
4
f:
3 a := y^2;
DBG> cont
Hello
5 a := (x+y)^2;
See Also
% ditto operator, debugger, Interactive Maple Debugger, showstat, stopat, stoperror, stopwhen, stopwhenif
Download Help Document