none
Wince 2013 debugging problem RRS feed

  • Question

  • Hello.
    I'm trying to debug hello word program under   Wince 2013 (visual studio 2015) on conga-ma3 module.

    I noticed strange debugger behaviour:if I don't disable UART in BIOS then I get a lot of messages in UART, like this:

    PID:026F000A TID:03EE001E HeartBeat::transferMain

    PID:026F000A TID:03EE001E HeartBeat::transferMain, result: 00000000.
    PID:026F000A TID:03EE001E HeartBeat::checkAll, *numActive 0
    PID:026F000A TID:03EE001E HeartBeat::checkAll, result: 00000000.
    PID:026F000A TID:03EE001E HeartBeat::transferMain
    PID:026F000A TID:03EE001E HeartBeat::transferMain, result: 00000000.
    PID:026F000A TID:03EE001E HeartBeat::checkAll, *numActive 0

    PID:026F000A TID:03EE001E HeartBeat::checkAll, result: 00000000.

    If I start deploy then I get messages from transmitting program over network:

    PID:026F000C TID:02D6002A VersionlessSocket::Accept m_listenSocket4

    PID:026F000B TID:02D6002A Enter VersionlessSocket handshake
    PID:026F000B TID:02D6002A Exit VersionlessSocket handshake 0
    PID:026F000B TID:02D6002A CcTcpStream::readSegment in_blockSize 4.
    PID:026F000B TID:02D6002A CcTcpStream::readSegment 0
    PID:026F000B TID:02D6002A Exit VersionlessSocket receiveStreamSettings 0
    PID:026F000B TID:02D6002A Enter VersionlessSocket handshake
    PID:026F000B TID:02D6002A Exit VersionlessSocket handshake 0
    PID:026F000B TID:02D6002A Exit VersionlessSocket::Accept 0
    PID:026F000B TID:02D6002A CcTcpTransportAccept::CreateStream handing over to the raw connection
    PID:026F000B TID:02D6002A CcTcpStream::Init m_lastActivityTime 39767.
    PID:026F000B TID:02D6002A CcTcpStream::Attach
    PID:026F000B TID:02D6002A CcTcpStream::Attach 0
    PID:026F000B TID:02D6002A HeartBeat::AddStream
    PID:026F000B TID:02D6002A HeartBeat::AddStream, result: 00000000.
    PID:026F000B TID:02D6002A Exiting CcTcpTransportAccept::CreateStream result: 00000000.
    PID:026F000B TID:02D6002A INFO100: client::TransportListener:CreateStream complete HR=00000000
    PID:026F000B TID:02D6002A INFO10: client::GetSecurityOverrides:Overriding connection accept security.
    PID:026F000B TID:02D6002A CcTcpStream::Send cbData 1
    PID:026F000B TID:02D6002A CcTcpStream::writeSegment bufferSize 1.
    PID:026F000B TID:02D6002A CcTcpStream::writeSegment 0
    PID:026F000B TID:02D6002A CcTcpStream::Send m_lastActivityTime 39960.
    PID:026F000B TID:02D6002A CcTcpStream::readSegment in_blockSize 1.

    PID:026F000B TID:02D6002A CcTcpStream::readSegment 0

    But in this case I cannot start debugging because of deploying timeout.

    If I disable UART in BIOS all works.

    How can I make debugger be not so verbose?

    I tried to write in registry 

    [HKEY_CURRENT_USER\Pegasus\Zones]

    "ConmanClient3"=dword:0
    "CMAccept3"=dword:0
    "DeviceAgentTransport3"=dword:0
    "eDbgTL3"=dword:0
    "TcpConnectionA3"=dword:0
    "ConmanClient3.exe"=dword:0
    "CMAccept3.exe"=dword:0
    "DeviceAgentTransport3.exe"=dword:0
    "eDbgTL3.exe"=dword:0
    "TcpConnectionA3.exe"=dword:0
     
    [HKEY_LOCAL_MACHINE\DebugZones]
    "ConmanClient3"=dword:0
    "CMAccept3"=dword:0
    "DeviceAgentTransport3"=dword:0
    "eDbgTL3"=dword:0
    "TcpConnectionA3"=dword:0
    "ConmanClient3.exe"=dword:0
    "CMAccept3.exe"=dword:0
    "DeviceAgentTransport3.exe"=dword:0
    "eDbgTL3.exe"=dword:0

    "TcpConnectionA3.exe"=dword:0

    but it doesn't works.

    Wednesday, March 9, 2016 1:53 PM

Answers

  • Hi,

      It appears, TcpConnectionA3.dll for VS2015 uses NKDbgPrintfW() instead of CeLogData() (as previous versions) to log its activity.

    So, you can't disable this output by setting of debugzones. Only way - to disable debug port via bootloader parameter.

    Best regards.

    • Marked as answer by Ilya_Smolensk Thursday, March 10, 2016 11:38 AM
    Thursday, March 10, 2016 7:30 AM

All replies

  • Any changes to make to [HKEY_LOCAL_MACHINE\DebugZones] needs to be in a HIVE BOOT SECTION

    e.g.

    ; HIVE BOOT SECTION
    
    [HKEY_LOCAL_MACHINE\DebugZones]
       "AutoRas"=dword:C03F
       "AFD"=dword:0
    
    ; END HIVE BOOT SECTION


    Wednesday, March 9, 2016 7:04 PM
  • Hello.

    I tried your answer and put HIVE BOOT SECTION around [HKLM\DebugZones]:

    ; HIVE BOOT SECTION
    [HKEY_LOCAL_MACHINE\DebugZones]
    	"FileSys"=dword:0
    	"ConmanClient3"=dword:0
    	"CMAccept3"=dword:0
    	"DeviceAgentTransport3"=dword:0
    	"eDbgTL3"=dword:0
    	"TcpConnectionA3"=dword:0
    	"ConmanClient3.exe"=dword:0
    	"CMAccept3.exe"=dword:0
    	"DeviceAgentTransport3.dll"=dword:0
    	"eDbgTL3.dll"=dword:0
    	"TcpConnectionA3.dll"=dword:0
    	"conmanclient3"=dword:0
    	"cmaccept3"=dword:0
    	"deviceagenttransport3"=dword:0
    	"edbgtl3"=dword:0
    	"tcpConnectiona3"=dword:0
    	"ccpwcli"=dword:0
    	"ccpwcli.exe"=dword:0
    	"wsmp"=dword:0
    	"wsmp.dll"=dword:0
    	"msvcrt"=dword:0
    	"msvcrt.dll"=dword:0
    	"ws2"=dword:0
    	"ws2.dll"=dword:0
    ; END HIVE BOOT SECTION
    But it doesn't help.
    How  should I specify module name? Are names what written above written right?


    Thursday, March 10, 2016 6:50 AM
  • Hi,

      It appears, TcpConnectionA3.dll for VS2015 uses NKDbgPrintfW() instead of CeLogData() (as previous versions) to log its activity.

    So, you can't disable this output by setting of debugzones. Only way - to disable debug port via bootloader parameter.

    Best regards.

    • Marked as answer by Ilya_Smolensk Thursday, March 10, 2016 11:38 AM
    Thursday, March 10, 2016 7:30 AM
  • The module names for [HKLM\DebugZones] are *not* the filenames of the DLL or EXE.  Rather the are the lpszName value of the DBGPARAM structure registered when the debug zones were registered.

    You can use SetDbgZone() to query zones for either a process or a module and get the lpszName value.  Combine with toolhelp to enumerate all the processes and modules to get all the zones information for the system.

    Hope this helps

    Thursday, March 10, 2016 9:55 AM