Occasionally, I pretend to be a Python developer. Thus far, my IDE of choice has been PyDev + Eclipse. Recently, I did a few minor upgrades to my development box that allowed my to upgrade from Windows XP to Windows Vista 64. Before I could begin using Eclipse, I needed to install the latest version of the JRE. Since I prefer to download native 64-bit applications, I selected the 64-bit version of Java. Now, I’m good to go, right? Wrong.
Unlike the 64-bit version of .NET, the 64-bit version of Java apparently requires developers to create special 64-bit binary versions of their code. However, in looking at the Eclipse download page, you’d never know that you needed a special 64-bit version (for Windows). Only after a significant amount of treasure hunting did I find the location of the 64-bit version, found here.
To sum things up, you’re better of downloading the 32-bit version of Java as the majority of applications that you’re going to want to run will only work with the 32-bit version of the JRE.
If, by chance, you’re like me and recently installed Visual Studio 2008 onto a 64-bit version of Windows, you may be getting the following error when you attempt to debug an application:
The components for the 64-bit debugger are not registered. Please repair your Visual Studio 2008 Remote Debugger installation via ‘Add or Remove Programs’ in Control Panel.
The reasoning behind this error is discussed here. In short, because VS2008 is still a 32-bit process, it cannot directly attach itself to a 64-bit application (.NET defaults to 64-bits when you’re on a 64-bit OS). As such, VS2008 needs to use the remote debugger to bridge the 32/64-bit gap. Unfortunately, this feature isn’t installed by default! In reading the error message, you are lead to believe that this can be fixed by adding additional components from the VS2008 add/remove programs screen. However, in actuality, you’ll need to run a separate application (found in CD-DRIVE:\Remote Debugger\x64). After installing the 64-bit debugger, you should see this problem disappear.