For a quick check I often use a Trail CHOP, to store and show incoming channel values over time.
Best to set its Window Length parameter to something large. Additionally you can connect a CHOP to DAT to it, to see all the values printed below each other.
For debugging and printing values you can use the textport - you can print anything you want to it.
See docs how to split your interface into multiple panes. (just use the dropdown in top right to split your panel into two)
Set your new pane to the type textport. (use the dropdown in topleft on your new pane).
Now you’ll see your Python console.
Attached an example which prints a value to the textport if you drag on the slider.
Also an example which prints if you toggle a parameter. Notice I use the debug() command for this last one, which adds the DAT and code line number from where it was called. Useful to find it back later if your project grows.
Some useful nodes to monitor a value and perform any callback function (such as debug printing the value) are the Chop Execute DAT, Parameter Execute DAT, Panel Execute DAT.
(Please see extensive examples in Help->Operator Snippets for all of them)
Maybe this is just me coming (and still) inside Max who needs to mimic Max console, etc. I mean, maybe, in few weeks, I won’t need to “monitor” things like that.