Sysprogs forums › Forums › VisualGDB › Suggestions for Live Variables
- This topic has 3 replies, 2 voices, and was last updated 5 years, 3 months ago by support.
-
AuthorPosts
-
July 10, 2019 at 19:44 #25347ExtSolParticipantJuly 10, 2019 at 19:44 #25345ExtSolParticipant
Dear Support,
Feature Request: can you make show enum value names at the marked position in Live Variables window?
Source: https://pastebin.com/qQiXGs45
Attachments:
You must be logged in to view attached files.July 10, 2019 at 19:44 #25341ExtSolParticipantDear Support,
Feature Request: can you make show strings at the marked position in Live Variables window?
Source: https://pastebin.com/qijLaMgP
- This reply was modified 5 years, 3 months ago by ExtSol.
- This reply was modified 5 years, 3 months ago by ExtSol.
- This reply was modified 5 years, 3 months ago by support.
- This reply was modified 5 years, 3 months ago by support.
Attachments:
You must be logged in to view attached files.July 12, 2019 at 20:50 #25362supportKeymasterHi,
Thank you for your suggestions on making Live Variables better, however it looks like this mostly duplicates existing features. Please see the explanation below.
The live variables work by continuously reading the target’s memory without interrupting the program and are intended for monitoring slowly changing parameters that could be easily written by the software to fixed locations in memory (e.g. counters for certain internal events, object counters, etc). Together with the plotting functionality, this allows monitoring the state of real-time systems without stopping them on a breakpoint (that could disrupt functionality if the system is expected to handle external requests).
In order to keep a track of more complex/dynamically changing structures, such as strings, please consider using semihosting. Simply dump the state of those variables when needed via the printf() function and VisualGDB will display it in the semihosting view. You can also use the live memory mode in the Advanced Memory Window provided by VisualGDB – it uses the same mechanism as Live Variables and allows reading the memory contents of large objects (e.g. string buffers) without stopping the program.
The Live Variable breakpoints are intended to catch slowly changing critical conditions (e.g. some object counter growing beyond the usual value) and are intended to stop the program once the condition is hit, so that you can examine its state and then continue. As the monitored values would typically not change while the program is stopped in the debugger, the live variable breakpoints automatically disengage after the initial hit in order to avoid an infinite loop.
-
AuthorPosts
- You must be logged in to reply to this topic.