Gavin_Minion
Joined: 18 Apr 2012 Posts: 10
|
General compiler and debugging issues. |
Posted: Wed Jul 25, 2012 3:23 am |
|
|
Hi, I use compiler version 4.122 and the ICD-U40 debugger on a PIC18F8722 part.
I am wondering if anyone else is having the same issues with debugging I am or whether I need to re-install the software.
First, the fatal issues:
1 - sticky breakpoints. the debugger frequently has to be re-started due to breakpoints sticking on. This means that a breakpoint which has been enabled, cannot be disabled. This takes up one of the breakpoint slots and, if the break was in a frequently hit part of the code, prevents you running without frequent stops. I have found no way to cure this other than by diabling the debugger.
2 - ERROR #12: undefined identifier. This is a valid error when the variable is in another area of code and not currently in use. It is not however valid when you are stepping over the code which contains the variable. It is even less valid then the variable is global. And it is totally invalid when the variable suddenly becomes 'undefined' as you step on to the bit of code which changes it. The only cure: disable and re-enable the debugger.
Now the vexing bugs:
3 - Variables not updating. Example:
Code: | int8 fred = 0; //debugger shows fred,h 0x00
fred++; //debugger shows fred,h 0x00
fred = 20; //debugger still shows fred,h 0x00 |
Moving over to the RAM tab and back to watches and fred suddenly updates. This is not cured unless the debugger is reloaded and fred is useless unless I wish to keep swapping tabs on every step.
4 - Variable display.
If I define fred as a char, fred is displayed in the watch window as a char. this is good.
If I define fred as an int8 or int (signed or unsigned) fred is still displayed as a char. This is not good.
If I edit the watch and say display fred as a decimal, fred is still displayed as a char. This is vexing.
5- The case of the disappearing user toolbar.
I have given up on this one. I can set the user toolbar up, I can use the user toolbar. It is a nice user toolbar and I like it. But it is stolen regularly. I think that the debugger does it, but it is still a mystery.
And finally some boneheaded questions:
6 - Is it too much to ask that my watch windows retain their size and shape. Especially those containing large structures? It is? Ok, sorry I asked.
7 - Does anyone know how to put a watch on an area of ram (I thought of using this to overcome the ERROR #12 above, but cannot make it work)
8 - Did the debugger 'disable' button HAVE to go next to the debugger 'run' button (hands up if you have ever pressed one instead of the other by mistake... I have!)
9 - If you accidentally unpin any of the windows (debugger window for example) how DO you pin them again (and does it involve a ceremony?)
10 - And finally, what does the document generator do? (I can only tell you what it does not do...)
All the best and enjoy your day. No prizes for answers but I am interested to hear if anyone has good ideas, suggestions or workarounds for any of these. Thanks in advance. |
|