java - Visual Studio 2013 Express Edition,附加到进程(Java JNI 应用程序)似乎不起作用

标签 java c eclipse visual-studio java-native-interface

我正在开发一个 Java 应用程序,使用 DLL 的 JNI 接口(interface),用 C 编写。
当我在 Eclipse 中启动应用程序并尝试在 C 代码中(在 Visiual Studio 2013 中)执行“附加到进程”时,这似乎不起作用:我的 Visual Studio 断点提到:

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

我已经验证了编译/运行时目录,一切似乎都正常。
我不确定的一件事是我需要使用的代码类型:
如前所述,我的应用程序是 Java 应用程序,因此在 Visual Studio 中,项目属性、命令参数等于

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

命令参数中提到了我的 Java 应用程序的名称。

我不确定,但我相信我的问题是由于 Java.exe 程序和我需要使用的代码类型不匹配造成的。其中有六个(在窗口“调试、附加到进程、选择(选择代码类型)”中):

  • GPU - 软件模拟器
  • 托管(v3.5、v3.0、v2.0)
  • 托管(v4.5、v4.0)
  • 母语
  • 脚本
  • 托管兼容模式

出于消除目的,有谁知道我如何确定上述代码类型中的哪些对应于 Java 程序/应用程序? (我第一次尝试让 Visual Studio 自动确定代码类型,但失败了)

最佳答案

  • GPU - Software Emulator

  • Script

我不确定这些在 Visual Studio 上下文中的确切含义,但它们绝对不是您要寻找的内容。

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

“托管”是 Microsoft 对 .NET 的一种别致说法,但您并未使用它。

  • Native

native 代码是以传统方式编译的机器代码。这就是你想要的。

关于java - Visual Studio 2013 Express Edition,附加到进程(Java JNI 应用程序)似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33076187/

相关文章:

java - 从 servlet 调用映射作业时出错

java - 正则表达式修改xpath表达式

java - 为什么方法体内的 boolean 标志是一个坏主意?

c - 在C中使用char指针的二维数组

java - C 中的命令行参数导致段错误?

c++ - 为什么使用rand生成随机数之前需要调用srand

java - 两个类具有相同的 API 但不同的实现是什么意思?

Eclipse CDT 找不到 opencv 2 头文件

java - 外部 jar 未在 MANIFEST.MF 中解析为 bundle

java - 创建新的 Maven 项目时 Eclipse 不显示 Artifact