I have some issues with XScope. By the way, I did find May and Jakobs' nice YouTube intro from 2012 [1] and also the description in Part G. Application Instrumentation and Tuning, in [2].

I find it nice to use as very low overhead printf debug with accurate timing. "Printing" with numbers is quite useful.

I find it difficult to read the values on the XScope screen, as the cursor seems to show the value of the cursor pos on the screen, it does not show the value of the curve. Is there a way to read the value instead? This is fine if the range is small, but with max values high up it makes it difficult, since the value shown does not seem to stick to the curve.

Then I open the xscope.xmt and read the values there instead. I see that XScope is sorting on End time, as User="4" starts before the two previous values:

999 and 1000 are just below each other in the code, no other code in between, and this time they both showed up.

I then replaced xscope_int with xscope_core_int and added an xscope_ping and I could see where these events originated. Only 999 is in the code (I commented out the 1000) - but 999 is not shown because I added a xscope_ping just above the 999 (!?):

When it works it works, and is indeed useful. But how do I learn when a number just does not show up? The events were buffered, from the docs. I think that if the events are not very close they all show up. The good thing is that I am, when I follow the code, able to detect an obvious missing event.

I am testing all this on a startKIT with XTC 14.3.3. Is this some kind of Issue that I should report?

This problem seemed to disappear when I was lucky (wise?) to find a workaround of another problem: a curious code/machine-dependent deadlock (I believe). It became an XMOS Bug report. When the code runs well everything seems to run. (Well, nothing new in that fact)