Visual Studio 2008 Debugging Windows Embedded CE 6.0 application - windows

I'm trying to debug a Windows CE 6.0 embedded application built with the STANDARDSDK_500 (ARMV4I) SDK using Visual Studio 2008. It builds and deploys however when it gets to the stage of starting the application it throws up the error "Unable to start debugging".
I am able to connect to the remote registry so CoreCon is running and connecting OK. I have connected as a "Windows CE Device" using a fixed IP address (although I have also tried dynamic IP address).
At this stage I have no idea what the problem is, I've checked the executable with dependency walker and the only 2 DLL's missing are COREDLL.DLL and WS2.DLL which are both present on the CE device in \Windows.
I've tried starting the built executable on the device and nothing happens. I have configured the CE device to create dump files but nothing is created.
Any ideas what could be wrong? What I can check next?

Related

Remote Debugging code running on a Windows XP machine without Visual Studio installed

I want to remote debug an executable that is running on a Windows XP machine. This machine does not have Visual Studio installed. I am running Visual Studio .NET from another machine on the network. (I'm easily able to remotely debug other XP machines which have Visual Studio .NET installed).
I located the remote debugging tool (msvsmon.exe in this case) copied the folder to a local directory on the machine I wish to debug and ran it. The cmd window indicated that I was running "Visual C++ Remote Debug Monitor (x86) Version 7.00.96"
I attempt to select the machine from VS in order to attach to the process and I received an error:
Unable to connect to the machine . The debugger is not
properly installed. Run setup to install or repair the debugger.
As I'm not able to find debugging tools online that are old enough, I'm not sure how to proceed.
While there is still time, you should get a copy of VS2010 Service Patch 2, and install it, the version of msvsmon.exe in VS2010 is the LAST release which supports XP remote debugging. In my work we develop for XP Embedded, and have a large installed base used in manufacturing globally. Our customers would scream bloody murder if we changed the runtime which would break/damage/shutdown manufacturing. So we are now forced to migrate to VS2019 and yet we build for XP clients. Our new products do run newer Windows Embedded versions, but the legacy products are still in demand, and are XP embedded based. There is no remote debug capability to my knowledge with VS2019, and our firm is not allowed to distribute VS2010 to our clients so they can single step debug. Very frustrating.

VS2015 debugging on remote machine, Connection always fails

When follow the tutorial Run Windows Store apps on a remote machine,Visual Studio 2015 can't connect to the remote debugging tools.
VS2015 finds the remote machine, and it can be selected. However when you will try to run the application on the remote machine, the Remote debugger will simply say "Connection from XXX failed".
Neither it, nor visual studio provide any clue as to what happened.
This happens because the tutorial links an old version of remote debugger.Current version can be found at their Download Center.
Up to date guide:
Deploying and debugging Universal Windows Platform (UWP) apps.
It seems to be Microsoft's custom to have multiple, mutually contradictiong versions of the same documentation.

Debugging Win Mobile 6 App with Visual Studio 2008

When I go in to debug the app, it asks me to choose where I would like to deploy it. When I select Windows Mobile 6.5.3 Professional Emulator and click the Deploy button, it starts to work and throws up a command line and then it goes away and Visual Studio doesn't appear to be in debug mode.
I have the Device Emulator open, Windows Mobile 6.5.3 Professional Emulator loaded and cradled. Can someone help me figure out why it will not let me debug this project?
Brad, I downloaded the code and just unpacked the zip to D:\boxoffice_mobile (a local drive partition). Then I started VisualStudio 2008 and opened the solution file. I get a warning message that the project is not loaded from a trusted location (http://msdn.microsoft.com/en-us/library/bs2bkwxc%28v=vs.80%29.aspx). As I do not use a network drive, I ignored the warning two times and the projects load all fine.
BTW: I found a great tool to manage these 'security' warnings: http://blog.codingoutloud.com/2010/03/05/the-project-location-is-not-trusted-dealing-with-the-dreaded-unblock/. The message had nothing to do with a remote file access.
Then I just looked at the solution configuration to ensure that only the needed projects are build and did no change, as only BoxOfficeMobile and WebserviceTest are set to build and only BoxOfficeMobile is set to deploy.
Then closed solution configuration manager and just pressed F5 to start debugging to see what happens.
The startup project BoxOfficeMobile was build and deployed to "Windows Mobile 6.5.3 Professional Emulator". The emulator started and the files were deployed and the project was stopped by a breakpoint inside the code:
Here is another screen shot with the emulator set to 'Display: Always on top':
So, as you can see, the project is fine and the debug issue on your site is caused by a different setup.
Do you load the project from a network drive share? Try moving it to a local drive and run it from there.
Did you change Device settings in the VS2008 Tools:Options menu? Here is my setup (as coming as default, I did not change anything):
and the details:
The additional settings available via the buttons are empty (Configure) or unchanged (Emulator Options).
I am very interested in seeing what you changed to be not able to debug the project.
before you start developing for Windows Mobile 6.5 Prof, you need to setup your development environment.
First, install Visual Studio 2008 (no express version)
Download and install either ActiveSync (host OS <= Windows XP) or Windows Mobile Device Center / WMDC (Windows Vista/7)
[optional] Download and install Device Emulator Manager
Then download and install Windows Mobile 6.5 DTK (http://www.microsoft.com/en-us/download/details.aspx?id=5389)
Now, you can start a new C# project inside Visual Studio 2008:
Follow the wizard:
The list of Target Platforms depend on the Mobile/CE SDKs you have installed!
Select either .Net Compact Framework 2.0 or 3.5. The choose depends on what is installed on your PC and what is available on the device. If the device comes with 2.0 pre-installed, I would choose 2.0 except for I need something only available in 3.5 (ie Mobile.Status namespace).
Now you get an empty form:
You can change the target device in the project properties:
If you want to change the target platform, look at "Change Target Platform" in Project menu or just right click the project in solution explorer and select Change Target Platform:
The above has nothing to do with Device Emulator Manager or the installed Emulator Images!
You can run a WM5 targeting project on a Windows Mobile 6.5 device if you want.
To start debugging and SmartDevice application inside an emulator. Just Select an Emulator entry from the target device list in Project properties or just in the SmartDevice toolbar. Then click Debug and "Start Debugging". VS will start an emulator with the specified emulator image and deploys your project application files and start remote devugging.
You may also start an emulator image using DeviceEmulatorManager and then cradle the running Emulator image. To use the running and cradled (ActiveSync or WMDC connected!) emulator do NOT select an emulator inside VS but a Device. VS does not see the difference and uses the WMDC connected device, regardless of being an emulator or real device.
VS uses DMA to communicate with the emulator, not USB or Serial as with a real device.
Now start your development.
First of all clean your project.Then freshly start the emulator.Right click the project and select build.Then Debug the project.Your project will be started in Emulator (Don't Open the application from your Emulator at this time).
Just check your Emulator Start>File Explorer>My Device>Program Files whether the project has been previously installed.If so uninstall from the Settings> System > Remove Programs. And try re-building application and deploy it.

Can't get SQL Server CE to work with Visual Studio 2005 and Windows CE 5.0

I have been trying to make SQL Server CE work with Visual Studio 2005 for the past 4, 5 hours. but no luck. When I run my application I get the following error:
Can't find PInvoke DLL 'sqlceme35.dll'
I have read countless threads and articles on it but unable to make it work. Using the following tools:
Windows CE 5.0 device running Intel Bulverde processor
Windows XP 32 bit with Visual Studio 2005
SQL Server Compact 3.5
Here is what I did.
Created a new "Smart Device" project and selected "Windows CE 5.0"
Installed SQL Server Compact 3.5 (on Windows XP) which installed a bunch of folders and files
In my project I added a reference to "System.Data.SqlServerCe.dll" which is inside folder where SQL Server Compact 3.5 is installed
Then I wrote a few lines code as below which I copied from http://msdn.microsoft.com/en-us/library/aa226134(v=sql.80).aspx
SqlCeEngine engine = new SqlCeEngine("Data Source = Test.sdf");
engine.CreateDatabase();
conn = new SqlCeConnection("Data Source = Test.sdf");
conn.Open();
Then I installed "sqlce.dev.ENU.wce5.x86.CAB", "sqlce.repl.wce5.x86.CAB" and "sqlce.wce5.x86.CAB" from "wce500\x86" on target device which created a bunch of DLL files in folder "Microsoft SQL Server Compact Edition"
Then I ran my program but I got error as described above. The error is being thrown by line SqlCeEngine engine = new SqlCeEngine("Data Source = Test.sdf");
I thought may be I need to copy all DLLs from folder "Microsoft SQL Server Compact Edition" to my application folder on target device from where my program was running so I copied all files but still same error.
And then I thought may be I need to use "armv4i" instead of "x86" so I first installed "sqlce.wce5.armv4i.CAB", "sqlce.repl.wce5.armv4i.CAB", "sqlce.dev.ENU.wce5.armv4i.CAB" and as expected it didn't work. So I again copied all DLLs into my program folder but no luck.
What am I doing wrong?
The Bulverde, IIRC, is the PXA27x series processor which is definitely an ARM core, not an x86, so you must use the ARM binaries.
Start by making sure you have a factory-reset device (the registry would be the important bit to reset).
Then use the CAB (or just the binaries directly) from this folder:
%PROGRAM_FILES%\Microsoft SQL Server Compact Edition\v3.5\Devices\wce500\armv4i
Make sure that the System.Data.SqlServerCe.dll assembly is on the device (typically in your application folder).
If it still fails, you probably are missing a dependency. Run depends.exe (on the desktop) against the SQL Compact binaries to see what they need and ensure those are on your target.

Cannot connect to MSVSMon running on Windows 7 x64

I have a test machine that runs Windows 7 Enterprise x64. I setup MSVSMon (tried both 64 and 32 bit versions) on it and made sure that the Firewall settings would not block the remote debugger. Now I'm trying to connect to this from my dev box running Windows 2008 R2 and Visual Studio 2010. However when I try to connect to the remote debugger, it shows me the following error message:
"Unable to connect to the Microsoft Visual Studio Remote Debugging Monitor named "xxxxx". THere is no server by the specified name running on the remote computer.
Some obvious things:
- I have verified that the name I'm using is correct (picked it up from teh MSMSMon.exe options dialog)
- The dev box does have access to the remote machine, I can check that by connecting to it's file shares.
- The same instance of visual studio is able to connect just fine to another similar test machine, but one running a 32 bit Windows 7 Enterprise.
Any ideas?
Vin
Make sure if you are debugging from VS2010,its the debugger for 2010 and not 2008, and/or vice versa
I would check your firewall is not blocking the connection. Just because you can connect to the fileshare doesn't mean it's allowing the DCOM connection to the Remote Debugger.
See http://msdn.microsoft.com/en-us/library/bt727f1t(v=VS.100).aspx
I generally run MSVSMon on the remote machine from a share on my dev machine where I have several versions of Visual Studio installed. I get "There is no server by the specified name running on the remote computer" error when I run the wrong version of MSVSMon. For example if the VS2008 version of MSVMon is running on the remote machine and I am trying to attach to the process from VS2010.
Default location of MSVMon for VS2008 :
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger
Default location of MSVMon for VS2010 :
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger
I've found alot of ppl bump into this scenario. Tried to cup the solution in my blog post:
http://livshitz.wordpress.com/2013/02/26/remote-debugging-visual-studio-unable-to-connect-to-the-microsoft-visual-studio-remote-debugging-monitor/#more-144
Here is the snippet of the solution:
Make sure firewall is not blocking your request
Make sure the installed version of Visual Studio Remote Debugging Monitor is supported by the running Visual Sutdio
Create local user on remote target, with the exact user name and password as the debugging user (that runs VS process)
If dns resolving is unavailable (source and target on different domains) open this file
"c:\Windows\system32\drivers\etc\hosts"
and add a new line at the bottom:
"xxx.xxx.xxx.xxx TargetHostName" (without quotes)
This will map the target host name with an IP.

Resources