Sorry about the delay. I’ve been out of town for a few days and haven’t had access to my hardware.
Oddly today, there is suddenly output in the Live Watch window, but it is pretty much garbage. Time flows backwards occasionally and it sometimes shows time stamps in the several hundred mega-second range. There are red bars that show up periodically, but quickly disappear and I am unable to scale or scroll my way to find them again due to the output screen clearing itself.
I set the break point inside the function you mentioned and verified that the rec.Address variable repeatedly hits the address of the function I’ve attached to the profiler. When running a regular instrumenting profiler session, I wasn’t seeing an option for me to switch the Live Watch window to “Diagnostics”. Do I need that special build you posted in this thread earlier? I’m currently running on my laptop and never installed that version on here due to debugging previously on my desktop version.
Sorry for the confusion. The “diagnostics” page is shown in the “Live Profiling” window, not “Ream-time watch”.
Based on your last description, it looks like something is interfering with the instruction counter used by VisualGDB. Please try disabling the Chronometer (normally it should be disabled automatically when doing profiling or real-time watch). If it doesn’t help, your device may block the software from resetting the instruction count register (e.g. STM32F7 devices have this issue). In this case you would need to use a general-purpose timer instead (we have a detailed tutorial showing how to do that).
Found it. I didn’t realize that to get to the Live Profiling window, an analysis session had to be started through the Analyze->Analyze Performance with VisualGDB. I’ve attached the output of the live session and the diagnostics.
It would appear that it is profiling usage counts but not execution time since all the “time” columns are zero?
OK, that looks very much like the cycle counter is not available on your device or is not accessible from the software (that is the case on the STM32F7 devices we tested). Please follow the tutorial linked above to add a workaround – it’s very simple and involves overriding one function that will use one of the general-purpose timers for counting the cycles.