Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Debugging AnyCPU requires a 64-bit JDK on 64-bit OS #22

Open
sharwell opened this issue Apr 25, 2015 · 0 comments
Open

Debugging AnyCPU requires a 64-bit JDK on 64-bit OS #22

sharwell opened this issue Apr 25, 2015 · 0 comments

Comments

@sharwell
Copy link
Member

Currently, if you attempt to debug an application on a 64-bit OS use the Any CPU solution platform, and you only have a 32-bit JDK installed, the debugging operation will flash a window on the screen and then stop.

The problem stems from the fact that the debug launch algorithm automatically detects the appropriate version of the JDK to use (which may be a 32-bit JDK in this case), but does not then make sure and match the correct debug agent with the chosen runtime. In other words, when you try to debug this scenario, the Tvl.Java.DebugHostWrapperX64.dll agent is used with a 32-bit JDK.

The following workarounds are currently available:

  1. Use the X86 solution platform instead of Any CPU.
  2. Install a 64-bit JDK if you have a 64-bit operating system.

The debug agent filename is currently chosen by the following code:

bool x64 = Platform.EndsWith("X64", StringComparison.OrdinalIgnoreCase) || (Platform.EndsWith("Any CPU", StringComparison.OrdinalIgnoreCase) && Environment.Is64BitOperatingSystem);
string agentBaseFileName = "Tvl.Java.DebugHostWrapper";
if (x64)
agentBaseFileName += "X64";

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant