t_debug
This function T_DEBUG will turn textual debug mode 'on' or 'off'. This follows the philosophy described by Brian Kernighan and Rob Pike in "The Practice of Programming":
"... we find stepping through a program less productive than thinking harder and adding output statements and self-checking code at critical places. Clicking over statements takes longer than scanning the output of judiciously-placed displays. It takes less time to decide where to put print statements than to single-step to the critical section of code, even assuming we know where that is. More important, debugging statements stay with the program; debugging sessions are transient."
To allow for debugging statements that stay with the program and can be switched on and off, I wrote two very simple Matlab functions
(t_debug.m, print_debug.m). Here is how they work:
>> t_debug on
>> print_debug('t_debug is on');
DEBUG: t_debug is on
>> t_debug
DEBUG state: 1
>> t_debug off
>> print_debug('This should not print');
>> t_debug offff
Warning: USE: debug(mode) with mode='on', 'off', or a numeric value to set debugging to a certain level. You used 'offff'.
> In t_debug at 54
>> t_debug(10)
>> print_debug('t_debug prints up to level 10', 9)
DEBUG: (L=9) t_debug prints up to level 10
>> print_debug('t_debug prints up to level 10 (this won''t print)', 11)
>> print_debug('t_debug prints up to level 10')
DEBUG: t_debug prints up to level 10
>> t_debug
DEBUG state: 10
A test/example is included to demonstrate the functionality.
Cite As
Ronni Grapenthin (2026). t_debug (https://www.mathworks.com/matlabcentral/fileexchange/26666-t_debug), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
| Version | Published | Release Notes | |
|---|---|---|---|
| 1.3.0.0 | Allows for fine grained debugging output by implementing numeric levels.
|
||
| 1.0.0.0 |
