Visual C++ Remote Debugging causes blank property page - c++

I'm experiencing an odd and continously reproducable issue with Visual Studio 2013 Ultimate I'm hoping someone can help me glean insight into.
I recently deployed a C++ application, I am developing, to one of my older laptops. When executed, nothing happens. Almost literally. It simply ends execution and returns immediately. It's supposed to do quite a bit more. I thought I'd address this problem using Visual Studios automatic deployment and debugging abilities.
I like to take things in very small increments when trying new things, and the guides I've found on how to remotely debug and deploy have left me still feeling a bit confused/unsure.
So - I took the smallest step I could, by just selecting 'Remote Windows Debugger' and clicking that:
This expectedly pops up an error message:
Following the advice, I am unexpectedly greeted with this in the property pages:
I have absolutely no idea why this happens.
I know the cause, in a sense. By fiddling around I found that the debugging changes are contained within the Application.vcxproj.user file. Prior to running/configuring any remote debugging it looks as follows:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>
after just attempting to run remote debugging, it looks as follows:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<DebuggerFlavor>WindowsRemoteDebugger</DebuggerFlavor>
</PropertyGroup>
</Project>
Reverting to the previous file state, the properties show up just like they're supposed to.
But why (seemingly) any change causes Visual Studio 2013 Ultimate to go a bit sideways is beyond me. I first stumbled on the issue by following one of the aforementioned guides where I started out by just updating the Deployment Directory in the properties and then clicking Apply. This caused Vs2013 to crash and lead to the same blank property page.
I should note that this issue occurs with a freshly created console application.
Anyone ever tried anything similar or got any suggestions as to how to perhaps cure this problem?

Related

Visual Studio 2015 crashes when starting debugger

When compiling my C++ project or running it, everything is fine.
But when starting my project with the debugger, Visual Studio 2015 crashes.
I tried this, I have found two errors:
<entry>
<record>484</record>
<time>2017/02/14 14:09:32.187</time>
<type>Error</type>
<source>Color Theme Service</source>
<description>The color &apos;Popup&apos; in category &apos;de7b1121-99a4-4708-aedf-15f40c9b332f&apos; does not exist.</description>
</entry>
and
<entry>
<record>558</record>
<time>2017/02/14 14:10:08.617</time>
<type>Error</type>
<source>VisualStudio</source>
<description>Loading UI library</description>
<guid>{8C0C630B-37F1-11E3-8259-6C3BE516EAD0}</guid>
<hr>800a006f</hr>
</entry>
I don't know what to do to make VS's debugger work.
Edit: I use the dark theme if this can help...
One issue is that whether all projects have the same issue or just the specific one.
(1) Collect the crashed dump file and debugging it is also a good suggestion for the crashed issue.
(2) I also provide some suggestions which could narrow down this issue.
Please uncheck symbols server under Tools -> Options -> Debugging -> Symbols.
Uncheck "Edit and continue", "Load dll exports (native only)" and "enable just my code(managed only)". Debug it again.
Disable the IntelliTrace under TOOLS->Options->IntelliTrace, and "Use Native Compatibility Mode" under TOOLS->Option->Debugging->General or mix mode/native debugging project property(right click project->Debugging). Test it again.
I met the crashed issue before which was related to certain settings, so if possible, you could test it in your side.
But if all projects have the same issue, I suggest you repair your VS, or install the latest update package for your VS, and then debug it again.
If just one specific project has this issue, we would think about the project itself.
Update:
As our discussion, I found that you have reported this issue here:
https://connect.microsoft.com/VisualStudio/Feedback/Details/3123487
I will help you vote it and add my comment there. If I get any latest information from the report team, I will update it here.

Unable to reload ActiveX control in Windows CE 6

I am developing an ActiveX control targeted at Windows CE 6 (on a Motorola Workabout Pro 4, if specifying helps). I have stage one working, in the sense that I can compile in Visual Studio, and have deploy using a simple CAB file.
However, I am finding it very hit and miss as to whether I can update the control on the device. If I perform a clean rebuild (ensuring that all intermediary files are removed beforehand) and redeploy the CAB file, I find that any changes aren't reflected in the deployed code: The output is unchanged, both in IE on the device, and when connecting and debugging via the Visual Studio 2008. Secondly, any breakpoints that I have added in the debugger no longer hit.
If I manually replace the dll file, this still has no effect. Even stranger, the control still continues to work if I completely remove the dll!
I'm a bit of a beginner when it comes to WinCE and ActiveX development, so any hints as to what I am missing here would be greatly appreciated!
In this instance, my problem was that I was failing to correctly register my dll with COM.
The simplest solution was for me to change the CAB file so that the the dll self-registered. In my case, this was done by changing a parameter in the CAB file properties for the dll in Visual Studio. This results in <parm name="SelfRegister" /> being added to the CAB _setup.xml file:
...
<characteristic type="%CE2%" translation="install">
<characteristic type="MakeDir" />
<characteristic type="output.dll" translation="install">
<characteristic type="Extract">
<parm name="Source" value="OUPUT~1.002" />
<parm name="SelfRegister" />
</characteristic>
</characteristic>
</characteristic>
...

Invalid License Exception when building TDS projects

We're running Sitecore 6.5 with a few TDS projects, and I've been trying to get TFS builds to work on our TFS Build server. We receive the following error when the projects attempt to build:
C:\Program Files (x86)\MSBuild\HedgehogDevelopment\SitecoreProject\v9.0\HedgehogDevelopment.SitecoreProject.targets (354):
Exception Invalid License(Exception) in file sitecore\content.item.
Stack trace: at HedgehogDevelopment.SitecoreProject.Tasks.CollectSitecoreItems.Execute()
We've installed TDS on the build server, and I've verified in the registry that the license key matches to our license. Not quite sure what might be the next step. Has anybody encountered this issue with TDS continuous integration builds before?
I appreciate that this is an old question but wanted to add this in case anyone else stumbles upon it.
I've been setting up TDS on Visual Studio Online (what was TFS Online) following this wonderful article from Michael Edwards: http://www.experimentsincode.com/?p=586
Although it's a bit vague at the end of the article - you can actually include the License info with a config file. You have to add this file manually here:
C:\Program Files (x86)\MSBuild\HedgehogDevelopment\SitecoreProject\v9.0
Call the file TDSLicense.config
Save the following (with your license information in) in the file:
<?xml version="1.0" encoding="utf-8" ?>
<license Owner="CompanyName" Key="aaaa-bbb-ccc-dddd" />
If it's a permissions issue with reading the license from the registry - this should sort it out.
Micheal's blog post is well worth a read - it goes over and above what I've detailed here.
I'm not exactly sure I have an answer, but 2 things that happen to me frequently are:
The Hedgehog license expires once a month (not sure if that's my companie's agreement)
Sometimes I can't use TDS sync unless I re-install the SiteCore connector. Luckily, there's a button built-in for that: just right-click on TDS in Visual Studio, and select "Install SiteCore connector".
Hope this helps.

VS10 Crashes When Doing “Build” or “Rebuild” of C++ Project

I posted this on programmers first, but was told it belongs here. Funny, I didn't think so.
I have VS10 installed on a Windows Server 2008 R2 box, along with several other versions of VS dating back years. This is our production build machine.
When I load or create any C++ project and do a Rebuild or Clean, the IDE crashes. In the crash details, I see this:
I have seen other reports what seems to be the exact same error on the web (example). Other than the advice to open a ticket, I've seen no solution.
Has anyone else encountered and fixed this problem? I've opened a ticket with MS, but I'm covering my bases posting here as well.
EDIT:
I ran a logfile as suggested in comments. These are the only entries that occured after I loaded up VS, so this includes the build & the crash:
<entry>
<record>229</record>
<time>2010/12/01 19:35:39.804</time>
<type>Information</type>
<source>VisualStudio</source>
<description>Entering function CVsPackageInfo::HrInstantiatePackage</description>
<guid>{68939055-38E0-4D17-92CB-8909710D8178}</guid>
</entry>
<entry>
<record>230</record>
<time>2010/12/01 19:35:39.836</time>
<type>Information</type>
<source>VisualStudio</source>
<description>Begin package load [Windows Forms Designer Hosting Package]</description>
<guid>{68939055-38E0-4D17-92CB-8909710D8178}</guid>
</entry>
<entry>
<record>231</record>
<time>2010/12/01 19:35:39.882</time>
<type>Information</type>
<source>VisualStudio</source>
<description>End package load [Windows Forms Designer Hosting Package]</description>
<guid>{68939055-38E0-4D17-92CB-8909710D8178}</guid>
</entry>
How about contacting MS support directly? If this is blocking your work, you can push them to have it fixed (don't know about costs though, will probably depend on the product and specificities of your license...).
Alternatively, you can build your solution in the commandline: open a VS 2010 command prompt (shortcut is located somewhere in the start menu):
msbuild yoursolution.sln /p:Configuration=Debug
That shouldn't use devenv.exe (which is the thing crashing here) and invoke the tools directly.
The P8 bucket has a strange value, at least when compared to my machine. Check this post for a way to reverse-engineer the crashing method. The crashing assembly is stored in the C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.VisualStudio.Shell.10.0\v4.0_10.0.0.0__b03f5f7f11d50a3a directory on my machine.
The P7 bucket (note that yours doesn't match the linked one) points to ServiceProvider.GetService(). The P8 bucket gives an IL offset of 0x4b but I see the method end at 0x41. However, I haven't yet figured out how accurate that can really be when the JIT compiled code gets optimized.
If this is anywhere accurate then you don't got much for a lead. A GetService() method is hopelessly generic. Although it certainly looks like it came up with a bad one that didn't survive a cast. It is the kind of stuff that addins can mess up.
Btw, this doesn't actually affect the build output, MSBuild.exe runs as a separate process.
For anyone still having this problem, the answer that fixed mine was that I had tried to completely wipe Internet Explorer from my computer- leading to the DLL call failure that crashed devenv.
Here is their official solution page:
http://support.microsoft.com/kb/983279
My question to Microsoft is... Why would a dependency on internet explorer to compile applications even make sense under any circumstances?

AssignProcessToJobObject fails with "Access Denied" error when running under the debugger

You do AssignProcessToJobObject and it fails with "access denied" but only when you are running in the debugger. Why is this?
This one puzzled me for for about 30 minutes.
First off, you probably need a UAC manifest embedded in your app (as suggested here). Something like this:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<!-- Identify the application security requirements. -->
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
Secondly (and this is the bit I got stuck on), when you are running your app under the debugger, it creates your process in a job object. Which your child process needs to be able to breakaway from before you can assign it to your job. So (duh), you need to specify CREATE_BREAKAWAY_FROM_JOB in the flags for CreateProcess).
If you weren't running under the debugger, or your parent process were in the job, this wouldn't have happened.
This seems to bite me quite often, and while good, 1800INFORMATION's post doesn't seem to include a number of reasons and fixes that seem helpful, so it seem worthwhile to post a summary of why I've seen this happen.
When trying to solve this for yourself, note than this problem
can occur for different reasons when running from CMD.EXE, Explorer,
and Visual Studio. Trying to run the failing executable from the
respective places can help identify the cause of the problem. You
app may just work find from CMD.EXE in spite of failing from V.S.
and Explorer.exe
In my case, under Win7, I seemed to need to un-comment the "supportedOS"
element indicating Win7 compatibility from the app.manifest
file. This seems to fix the problem when running from Explorer. To
add a manifest, right click on the project, hit Add, and find
'Application Manifest File'.
To get Visual Studio 2010 working, I seemed to need to stop it from using the Program Compatibility Assistant, Tom Minka shares two ways to do this here: https://stackoverflow.com/a/4232259/86375, note, I had to restart VS2010 to take his suggested changes.