Re: How to debug kernel ?



You can't get regular kernel debug messages from a retail build of the
emulator, which is what you have in the Windows Mobile emulators.

Based on those messages, it appears that the attempt to verify that the code
is signed is failing. I'm not sure why you aren't being presented with a
dialog asking the user if he wants to trust the EXE or not. Perhaps
compiling with this other compiler is the source of missing out on that;
maybe the page size or something else about the structure of the code and
data segments, the location of some global data value, etc. I guess that
you could try signing the EXE, if you have a suitable certificate. I don't
develop for WM, but it seems to me that there are some developer
certificates that come with Visual Studio that you can use for that.

The primary suggestion would have to be "Use the MS tools.", though, as they
seem to do the right things. At worst, if the MS tools let you down, you
have a pretty big force of possible help to point you to a solution or a
work-around; that's not the case with gcc/Windows CE. What's the reason for
using gcc?

Paul T.

"Mosfet" <mosfet@xxxxxxxxxxxxx> wrote in message
news:48b6f9bc$0$15495$426a74cc@xxxxxxxxxxxxxxx
Paul G. Tobey [eMVP] a écrit :
Hmmm. It seems to be my day to point people to this page:

http://guruce.com/blogpost/howtoaskquestionsonnewsgroups

Yes, you might be able to catch debug messages from an emulator, if you
built the emulator! However, it would be more-useful, I think, to
address the *actual problem* (your application won't launch), rather than
going off into building a whole new OS so you can get debug messages.
What happens when you try to launch the application? The application was
built using what IDE? Visual Studio? What version? Targeting what?
Native code? .NET Compact Framework? It's being launched from the
Windows Explorer? From an Init key in the registry?

Paul T.

"John Doe" <mosfet@xxxxxxxxxxxxx> wrote in message
news:48b6cf88$0$12030$426a74cc@xxxxxxxxxxxxxxx
Hi,

I have downloaded PB6 and I would like to understand why my application
doesn't launch.
In particular I would like to catch DEBUGMSG from kernel.
Can I do it with PB6 and an emulator ?


Actually I have compiled with cegcc (a gcc version for Windows CE) a
simple sample application that loads a Dll and I get an error message when
launching on Windows Mobile 6.1.
The same application run successfully on previous version (WM6.0, WM5.0).
So I don't see how I could find why except building a Windows Mobile 6.1
OS targetting emulator.

CreateProcess(4873762a,testDLLexe.exe,2a000000) CertVerify:
\Temp\testDLLexe.exe trust = 2
LoadDLL(4873762a,8bc3e7e0,coredll.dll,03f5b000) [Cpu] 71 70802731 03F6CE4C
8B8FBB6C 03FE5744 08/28/2008 14:49:03 [D :: KEY]
PV_DRIVERGLOBAL->misc.ucEnableTouchPanel=1 KeyUp(ACTION) 08/28/2008
14:49:03 [D :: KEY] KeyToOS(0x0d,2) [Cpu] 100 70802937 8494AB4C 8B8FBB6C
03FE5744 [Cpu] 100 70803151 03EB2B20 8B8FBB6C 03FE5744 [Cpu] 100 70803363
03FB05E8 8B8FBB6C 03FE5744 [Cpu] 100 70803585 8494A3A4 8B8FBB6C 03FE5744
[Cpu] 100 70803800 03EB2B20 8B8FBB6C 03FE5744 CertVerify: cegcc.dll trust
= 2 LoadDLL(ffffffff,8a4c73e0,cegcc.dll,78810000) Data Abort:
Thread=897522c8 Proc=84b98080 '' AKY=00120011
PC=8494f630(NK.EXE+0x00027630) RA=00000c3c(???+0x00000c3c) BVA=78888000
FSR=00000007
EXCEPTION_RECORD(c0000005(EXCEPTION_ACCESS_VIOLATION),0(continuable),0,8494f630,2)
ExceptionInformation: 0 : 0 1 : 78888000 === ThreadInfo 897522C8 === Proc
= 84b98080 Owner Proc = 84b98080 Stack Base= c20a0000 StartAddr = 8495592c

[Callstack 897522C8]<<<

[1 8496962C] [2 84969C78] [3 849419D0] [4 84933B84] [5 8492F470] [6
8494F630] [7 84954790] [8 8494F680] [9 8495566C] [10 84955A44]
<<<[Callstack]>>> R0=8a4c7450 R1=897656ec R2=84b95f7c R3=00078000
R4=8a4c7450 R5=00000000 R6=897656ec R7=00000002 R8=78810000 R9=78888000
R10=78888000 R11=c20afd4c R12=c20afd5c SP=c20afc88 Lr=00000c3c PC=8494f630
Psr=6000001f TerminateProcess(4873762a) DeleteProcess(4873762a)


So there are changes in PE loader available in Windows Mobile 6.1 that is
more strict and I would like to find where.






.



Relevant Pages

  • Re: How to debug kernel ?
    ... Yes, you might be able to catch debug messages from an emulator, if you built the emulator! ... However, it would be more-useful, I think, to address the *actual problem* (your application won't launch), rather than going off into building a whole new OS so you can get debug messages. ... Actually I have compiled with cegcc a simple sample application that loads a Dll and I get an error message when launching on Windows Mobile 6.1. ...
    (microsoft.public.windowsce.platbuilder)
  • Re: How to debug kernel ?
    ... Yes, you might be able to catch debug messages from an emulator, if you ... the *actual problem* (your application won't launch), ... I have downloaded PB6 and I would like to understand why my application ...
    (microsoft.public.windowsce.platbuilder)
  • Re: VS2005 and Device Emulator
    ... "Neville Lang" wrote: ... changing this CF project to target "Windows Mobile 5.0 Pocket PC Device", ... the emulator now does not pop up. ... structures had "doubled" in my Vista 64-bit environment. ...
    (microsoft.public.dotnet.framework.compactframework)
  • Re: VS2005 and Device Emulator
    ... changing this CF project to target "Windows Mobile 5.0 Pocket PC Device", ... the emulator now does not pop up. ... structures had "doubled" in my Vista 64-bit environment. ...
    (microsoft.public.dotnet.framework.compactframework)
  • Re: VS2005 and Device Emulator
    ... to "Pocket PC 2003 Second Edition Emulator". ... changing this CF project to target "Windows Mobile 5.0 Pocket PC Device", ... structures had "doubled" in my Vista 64-bit environment. ...
    (microsoft.public.dotnet.framework.compactframework)