Search code examples
javaceclipsevisual-studiojava-native-interface

Visual Studio 2013 Express Edition, Attach to process (Java JNI application) seems not to work


I am working on a Java application, using JNI interface to a DLL, written in C.
When I launch the application in Eclipse and I try to do an "Attach to process" in the C code (in Visiual Studio 2013), this seems not to be working: my Visual Studio breakpoints mention:

The breakpoint will not currently be hit. No symbols have been loaded for this document.

I have verified the compilation/runtime directories, everything seems to be OK.
One thing I'm not sure about, is the code type I need to use:
As mentioned, my application is a Java application, hence in Visual Studio the project properties, Command parameter, equals

"$(JAVA_HOME)\bin\java.exe"

The name of my Java application is mentioned in the command arguments.

I'm not sure, but I believe my problem is due to a mismatch of the Java.exe program and the code type I need to use. There are six of them (in the window "Debug, Attach to Process, Select (Select Code Type)):

  • GPU - Software Emulator
  • Managed (v3.5, v3.0, v2.0)
  • Managed (v4.5, v4.0)
  • Native
  • Script
  • Managed Compatibility Mode

For elimination purposes, does anybody know how I can determine which of the mentioned code types correspond(s) to the Java program/application? (My first attempts, having Visual Studio determine the code type automatically, have failed)


Solution

    • GPU - Software Emulator

    • Script

    I'm not sure exactly what these mean in the context of Visual Studio, but they're definitely not what you're looking for.

    • Managed (v3.5, v3.0, v2.0)
    • Managed (v4.5, v4.0)
    • Managed Compatibility Mode

    "Managed" is Microsoft's fancy way of saying .NET, which you're not using.

    • Native

    Native code is machine code that's been compiled in the traditional way. This is what you want.