PRB: Can Not Initialize the Debugging Subsystem

Article translations Article translations
Article ID: 193512 - View products that this article applies to.
This article was previously published under Q193512
Expand all | Collapse all


Attempting to debug a Windows CE 2.1 application using the CE Shell utility with the Developer Studio IDE debugger causes the following error:
Cannot Initialize the Debugging System


The debugger can not communicate with the Cemon.exe process on the target device.


When using the IDE to debug through the CE Shell utility, the IDE verifies and downloads the application and the Cemon.exe module to the target device, and starts them. The IDE then communicates with the Cemon.exe process via a TCP/IP connection. This additional connection is required regardless of the connection type being used for the CE Shell utility.

To determine the cause of the problem, troubleshoot your system by using these steps:

  1. Ensure that the system's _FLATRELEASEDIR environment variable is pointing to the release directory that contains the operating system files. The CE Shell utility must use the same directory.
  2. Ensure that there is plenty of disk space on the disk volume containing the _FLATRELEASEDIR directory. The application and Cemon.exe must be copied into this directory in order for the debug session to be established.
  3. Ensure that the CE Shell connection is up. The command window that contains the CE Shell utility session should be showing Windows CE> if a connection has been established. If this is not working, some possible problems are:

    • Bad, incorrect, or loose cable.
    • Cable on wrong port.
    • Incorrect or misconfigured target device hardware.
    • Incorrect CE Shell command line.

    See the online documentation for proper configuration of hardware and use of the CE Shell command line.
  4. Ensure the CE Shell utility is communicating properly with the target device. This can be done by executing a simple command that requires communications with the target device. An example is gi proc, which lists all of the running processes on the target device. If the command does not return a response, then you may have one of the following problems:

    • Bad or loose cabling.
    • Operating system hang.

    The demonstration operating system projects should operate reliably. If you experience operating system hangs on your own project, use the kernel debugging tools to resolve the problem before using the IDE debugger.
  5. Verify that the CE Shell utility is referencing the release directory correctly. This can be done by verifying that Cemon.exe is in the release directory, then running Cemon.exe from the CE Shell with the following command line: s cemon.exe. If this runs successfully, kill the process before continuing. If this fails, double-check all of the preceding steps.

    1. For Serial TCP/IP Connection: Ensure that a Remote Networking connection has been established. If this connection is established, the target device will have a "Connected to..." program window for the connection showing "Connected" status. With shell-enabled samples, you can press CTRL+ESC on the target device to get a list of program windows. If you can not establish a connection, it may be due to one of the following problems:

      • Bad, incorrect, or loose cable.
      • Cable on wrong port.
      • Incorrect or misconfigured hardware (target or device).
      • Incorrect Remote Networking parameters.
      • Incorrect Windows CE Services parameters.

    2. For Ethernet TCP/IP Connection: Ensure that the target device and host can communicate by attaching via the Windows CE Network Redirector or one of the sample client/server TCP/IP programs. If you can not establish a connection, it may be due to one of the following problems:

      • Cable on wrong adapter.
      • Incorrect or misconfigured hardware (target or device).
      • Incorrect TCP/IP parameters.
      • General network failure.
  6. For ethernet, ensure that the following registry key contains the name of the host machine:
  7. Ensure that Cemon.exe is not already running on the target device. By executing the gi proc command from the CE Shell utility, you can determine whether Cemon.exe is running; it should not be running when a debugger session has not been established. If Cemon.exe is running, use the kp command to kill the process(s).
If all of these items verify correct, the IDE should be able to establish a debugging session.


This behavior is by design.


Article ID: 193512 - Last Review: May 3, 2001 - Revision: 1.0
  • Microsoft Windows CE 2.10 Enhancement Pack for Windows CE Embedded Toolkit for Visual C++ 5.0
kbide kbprb KB193512
Retired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.

Give Feedback


Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from