Before logging an issue, please update to the latest release of Visual Micro from the Downloads Page.

When Logging a Support Issue in the Forum, please ensure you have also:-

  • Enabled vMicro > Compiler > Show Build Properties
  • Re-Compile your program with these settings enabled
 
Save the new Output to a Text File and....
  • Click the Reply button and attach as .txt file OR
  • Click here to Email us with the file attached, and a link to your post
Support requests without the output above may be impossible to answer, so please help us to help you
 
Page Index Toggle Pages: 1 Send TopicPrint
Normal Topic Debugger Beta Testers General Discussions (Read 5561 times)
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12076
Location: United Kingdom
Joined: Apr 10th, 2010
Debugger Beta Testers General Discussions
Jul 2nd, 2012 at 9:55pm
Print Post  
The debug tool is now in beta and has been succesfully tested by a few users. There have been some questions and suggestions. Beta testers should feel free to add to this thread or create new ones.

How to enable arduino debug

Arduino debug overview
« Last Edit: Jul 3rd, 2012 at 10:57pm by Tim@Visual Micro »  
Back to top
WWW  
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12076
Location: United Kingdom
Joined: Apr 10th, 2010
Switching on arduino break/pause
Reply #1 - Jul 2nd, 2012 at 10:04pm
Print Post  
By default break/pause is disabled which means that all break points become trace points.

Break/pause of breakpoints can be able using the project property named "Enable Break/Pause". 

Break/pause will stop and wait when a breakpoint is hit but it does not allow you to then step through every source line. You can only step from breakpoint to breakpoint.
 
After you enable Break/Pause you can also enable "Jump To Source". 

Jump to source will open the code at the correct source line when the debugger pauses. To re-start the debugger press F5 or any of the visual studio start>debug commands.
 
If you switch on debug break/pause then you will also need to observe the checkbox on the "When Hit" window called "Continue Execution". Visual Studio switches it ON by default for any breakpoints that have messages. 

This allows fine control of all breakpoints but maybe we should have an option to force all to break?
« Last Edit: Jul 2nd, 2012 at 10:19pm by Tim@Visual Micro »  
Back to top
WWW  
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12076
Location: United Kingdom
Joined: Apr 10th, 2010
Debug protocols
Reply #2 - Jul 3rd, 2012 at 3:49pm
Print Post  
The current system that sends information from the arduino works okay but isn't very clever or efficient.

I think it might be better to use print_f type functions
  
Back to top
WWW  
IP Logged
 
Heinz Kessler
Full Member
***
Offline


Posts: 217
Location: Freiburg, Germany
Joined: May 25th, 2012
Re: Debugger Beta Testers General Discussions
Reply #3 - Aug 3rd, 2012 at 3:24pm
Print Post  
But it's smarter than it seems, because it is possible to use the same syntax as in Arduino's Serial.print functions, example:
{somevariable, HEX} shows the variable in hex.

And of course, any C-style modifiers are also possible:
{(unsigned long) mypointer}

I think a true printf style syntax would be even better, but that could increase the code size too much.
  
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12076
Location: United Kingdom
Joined: Apr 10th, 2010
Re: Debugger Beta Testers General Discussions
Reply #4 - Aug 3rd, 2012 at 7:23pm
Print Post  
Thanks, I never thought of that {myVar,HEX} Smiley

I agree, generally it is flexible because vm does not need to know data types or lengths. An efficient binary system would add a lot of difficultly.

Again, you are quite right, I tried the print_f and it immediately added 1000 bytes to the program size.
  
Back to top
WWW  
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint