Pelles C forum

C language => Pocket PC and Smartphone questions => Topic started by: cristidumi on May 28, 2009, 09:58:54 am

Title: Some problems...
Post by: cristidumi on May 28, 2009, 09:58:54 am
Hi everyone.
Most impressed by Pelles C; haven't ever imagined such a FREE tool. This makes more difficult (for me) to report some (unfortunately) important errors...   :(

I've downloaded the compiler a few days ago in order to develop a medium sized application for an ARM machine. All worked fine, I mainly wanted to get used to this tool before starting to work. So I've modified an example for ARM machine and started to modify/test various tools.
However, 2-3 times I've got this strange error: when debugging a program (F5) and I had an invalid breakpoint, the compiler signaled the error, but failed to continue: both the compiler and the PDA were "frozen". The compiler could be shut down (although no debug/compile menus were active), but the PDA had to be shut down "physically" (from the on/off switch).
Form this moment on, the compiler couldn't connect/activate the "remote server" from the PDA (of course, after restarting the PDA). To make it work, I had to COLD restart both machines (PC and PDA).

Today, however, something really bad happened. I've got another invalid breakpoint error, devices frozen etc. But after restarting both machines the situation is as follows:
- compiler can't connect to PDA ("Unable to execute "<remote server>". Invalid Sigature")
- compiled .EXE created on the PC (for ARM machine, obviously) will not run on the PDA (says it hasn't a certificate or is missing some component)
I've tried countless times to compile/debug/copy EXE to PDA: with/without debug information, after restarting both machines, UNINSTALLING and INSTALLING the compiler a.s.o. Finally, I've seen that NO .EXE (apart from some system utilities) works on the PDA (same error as above).  :o

I cannot imagine what went so terribly wrong. How can I restore my PDA/PC functionality ? (and prevent future mishaps)
Is it a "local" problem (my particular PC/PDA software configuration) ? Can it be corrected ?

Equipment and configurations:
PC: Intel Core 2 CPU, 2 GHz, 1 GB RAM, 250 GB Seagate HD (ST3250410AS), running under Windows XP (version 5.1, build 2600, service pack 3)
Microsoft ActiveSync on my PC says "Version 4.5.0 (build 5096)
PDA: Mio P560, processor ARM920T (S3C2443), 64 MB built-in, 2 GB SD, running under Windows Mobile OS 5.2.1438 (build 17945.0.3.2)

Thank you for your patience
Title: Re: Some problems...
Post by: Pelle on May 31, 2009, 04:13:08 pm
I'm not aware of an "invalid breakpoint" error - do you mean the "Unable to set breakpoint at line X" message? This means that the line number of a breakpoint set in the source code editor can't be found by the debugger, in the debug information produced by the compiler for this executable - usually because that source line never generated any executable code to set a breakpoint on (or possibly, but less likely, that the optimizer in the compiler removed that line). Setting breakpoints in the source editor is just a hint, since it's impossible to know at this point what the compiled code will look like; setting breakpoints in the debugger is more exact. The "Unable to set breakpoint" message is just a warning on the desktop, and should be unrelated to any problems running programs on the device.

I've had a few times when "Windows" won't recognize the device in general. In such cases the debugger may produce a message like "Unable to execute <remote server>". Restarting the device and/or computer always solved that.

The very first time you start the debugger, you should see a message on the device like "poide.dll: Starting this program requires a component from an unknown publisher ... Do you want to continue?" - always answer "Yes" here. The debugger helper (poide.dll) that is executing on the device is signed with a certificate, but from a certificate authority I can afford - not an authority Microsoft recognizes by default. It's possible to install the certificate on the device to avoid this question, but it's somewhat complicated so we leave it for now...

You will get a similar question for each rebuild of the program you try to run or debug, unless you sign it with an accepted certificate.

- Can you access the device in general? I don't remember how it looked in XP, but on Vista the device is visible in the Explorer (so I can browse the device, and it's folders).
- Have you looked at the device: Settings -> System -> Memory, "Running programs" tab?  Any poide.dll process hanging around, that can be stopped?
Title: Re: Some problems...
Post by: cristidumi on June 01, 2009, 07:24:44 am
1. Yes, of course, it's "Unable to set...". I've mistakenly remembered the error message.
2. Yes, up to that moment (explained above) restarting the device(s) worked out the problem.
3. I could not access the device using its own hardware (i.e. touch screen, keys), it was completly frozen. I haven't tried via XP's Explorer, at that moment (yes, it is accesible, in general).

I've had to HARD reset the PDA, in order to restore to its normal function(s). After that, I've made a few test, but wasn't able to reproduce the above situation. Now everything works fine, and no freezing occurs even after a "Unable to set..." error (I've explicitly created several situations). It even seems (it is autosuggestion ?) the compiler-PDA communication is more "vivid"...  :)

Unfortunately I'm unable to give any further hint regarding the error above.
I must explain: my PDA had a Romanian version of Windows Mobile (I'm from Romania, by the way  :D), romanian messages etc. Hard resetting it restored an english version of WM, english messages etc. It shows same version (Windows Mobile OS 5.2.1438 (build 17945.0.3.2)), but obviously there is some missing software (compared to the previous configuration). The CDs I've received with the PDA does not contain a Romanian version of WM, so I'm unable to restore to its previous state.
Anyway, if there was a piece of software that caused this malfunction it seems it doesn't belong to the OS. Maybe the Romanian distributor installed some software (that now cannot be identified) which caused the problem.

I'll keep you posted if something "interesting" happens.

P.S.: I must, once again, express my admiration for this tool ! And I'm not talking as a newcomer. I've worked on an SQL compiler and access plan generator for a database engine, so I'm quite familiar with compilers and I do know the amount of work involved. Once again, CONGRATULATIONS !