One of the best and least expensive debug tools you can get is a serial console cable. This runs even before Linux starts, and can be used as early as boot loader stage to debug and play those fun Jedi mind tricks :)
Monitors can be a complicated topic because most modern computer boards (including both PC and Jetson) use a query channel in the cable to determine what the monitor works with (like scan rates and resolutions). Prior to that query channel you’d have to sit there and poke values into files or rely on a database to do the equivalent. That channel was originally the DDC channel, which has morphed due to new standards to EDID; the older monitors which reply with DDC information should be understood by newer computers…then EDID responses for newer resolutions and scan rates which previously didn’t exist are sent as an extension…and more extensions arrived with ultra-highdef. The computer’s parsing of those responses occur from older standards being sent first, and the newest standard being sent last…with software parsing intended to always understand previous modes and to ignore without error newer extensions (but not reading a newer extension would mean those scan rates/resolutions would not be automatically available).
During boot the text console stage seems to be unable to read some of the previous standards from older monitors and attempt to scan too fast…then if later on a newer standard is understood, the video would then work. I believe that issue is being worked on.
So far as JTAG debuggers go, the Lauterbach seems to be the only game in town. See:
Lauterbach JTAG Debugger (Tegra K1 Compatible Debugger):