`
xifanlou
  • 浏览: 28499 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

再谈利用JNI调试C工程

阅读更多
背景:
C写的库,通过JNI本地化,生成接口相似的jar
操作步骤:
C写的库,可以通过简单的调用C库的接口的小程序Trace进去,也可以通过导入jar,作成java的小程序Trace,因为Java接口比较友好,容易实现各种用例,所以往往是用Java作成case进行Trace的

VS2005打开C库的工程,在工程属性页Debugging选项中进行以下设置:
1.Command项设置成java.exe
*windows下因为在环境变量PATH中已经有了java.exe,所以可以直接设置,否则要写绝对路径
2.Command Arguments中设置java执行参数,我喜欢使用-cp选项,把使用的jar包加载进来,把java工程目录下的class目录如bin加载进来
3.Working Directory则是java的工程目录
4.F5就可以在VS2005中跟踪了
下图是一个例子



这种方法可行,虽然不是充要条件,但步骤已经算很简洁的了
  • 大小: 8.6 KB
分享到:
评论

相关推荐

    jni断点调试工程

    由于项目名为"jniVs2008Test",我们可以推测其中可能包含了一个示例测试用例,用于展示如何在VS2008环境下进行JNI调试。 总的来说,"JNI断点调试工程"提供了在Windows环境下使用Visual Studio 2008进行JNI开发和...

    jni调试 c层在eclipse中输出信息

    本教程将详细介绍如何在C层利用JNI进行调试,并在Eclipse环境中输出信息。 首先,我们需要理解JNI的基本工作原理。JNI提供了一种方式让Java代码能够调用本地(Native)代码,也就是C/C++代码,同时本地代码也可以...

    Android studio配置创建JNI 安卓工程

    ### Android Studio 配置创建 JNI 安卓工程详解 #### 一、前言 随着移动应用的不断发展,原生性能优化成为了许多应用提高用户体验的重要手段之一。而在Android平台上,使用JNI(Java Native Interface)来调用C/C++...

    android JNI video工程(surface显示输出)

    开发者可以通过JNI调用C/C++库,提高性能或利用已有的C/C++库资源。在Android应用中,JNI通常用于处理计算密集型任务,如视频解码和图像处理。 2. **Android Surface**:Surface是Android系统中用于图形绘制的抽象...

    JAVA通过JNI调用C#dll的整个项目工程

    Java通过JNI调用C# DLL是一个跨平台、跨语言的技术实践,主要应用于需要利用Java的稳定性和C#的高性能场景。JNI(Java Native Interface)是Java平台标准的一部分,它允许Java代码和其他语言写的代码进行交互。C# ...

    Android-JNI完整工程,实现c++调用java和java调用c++

    这种技术在需要高效计算、利用硬件加速或者复用已有的C/C++库时非常有用。 1. **JNI基础知识**: - JNI接口提供了Java虚拟机(JVM)和本地代码之间的桥梁,使得开发者可以使用Java调用C/C++函数,反之亦然。 - ...

    Android JNI使用demo

    JNI在Android系统中扮演着重要角色,特别是在需要利用C或C++库来提高性能、处理底层硬件操作或者使用现有C/C++代码时。本教程通过一个简单的"Android JNI使用demo"来讲解如何在Android应用中集成和使用JNI。 1. **...

    jni.h文件,完美适配ida软件,直接就可以使用。

    JNI在各种场景中都有广泛的应用,比如实现高性能的计算、调用操作系统原生API、或者利用现有的C/C++库。在给定的压缩包文件中,包含了一个名为"jni.h"的头文件,这是JNI接口定义的核心部分。 `jni.h`文件是JNI开发...

    Android JNI 串口通讯

    本文将深入探讨如何在Android环境中,利用JNI(Java Native Interface)技术实现串口通信。 首先,我们了解JNI的含义。JNI是Java平台提供的一种接口,允许Java代码和其他语言写的代码进行交互。在Android系统中,...

    安卓jni开发demo

    Android JNI(Java Native Interface)开发是将C/C++代码与Android应用相结合的一种技术,它允许开发者在Android应用中调用本地库,实现性能优化或利用现有的C/C++库。本Demo是针对Android JNI开发的一个实例,通过...

    ndk --- jni

    JNI在Android开发中扮演着重要的角色,尤其是在需要进行性能优化或者调用本地库(如C/C++库)时。而NDK(Native Development Kit)是Google提供的一个开发工具包,它包含了编译、链接和运行原生代码所需的各种工具,...

    使用jni和DES实现两次加密

    JNI使得开发者可以在Java程序中嵌入C/C++代码,以利用这些语言的高效性能和特定功能,比如加密算法,尤其是在需要硬件加速或者对性能有极高要求时。 DES是一种对称加密算法,由IBM在1970年代初开发,后被美国国家...

    JNI入门 pdf

    - **概述**:学习如何反编译 APK 文件,这对于调试和逆向工程非常重要。 - **步骤**: 1. 使用 `apktool` 解析资源文件。 2. 使用 `dex2jar` 和 `jd-gui` 查看 Java 代码。 以上内容覆盖了 JNI 开发中的一些常见...

    android系统JNI编程详解

    NDK是一套用于在Android上开发原生代码的工具集,包含了编译、链接和调试C/C++代码所需的一切。 3. JNI开发步骤 - 创建Java类并声明native方法:在Java代码中,使用`native`关键字声明需要在C/C++中实现的方法。 ...

    通过JNI实现C++与JAVA相互调用之TCP编程

    这样,我们就能在Java应用中使用C++实现的TCP客户端功能,同时利用JNI实现Java与C++之间的数据交换。 在"testSocketJni001"这个项目中,可能包含了Android工程的源码、C++源码、Makefile或者其他构建脚本,用于编译...

    安卓串口Socket通讯USB驱动jni相关-jni获取Android设备MACAddress最完美解决方案.rar

    这使得开发者可以利用C/C++的强大性能和库资源,同时保持Java的跨平台优势。 2. **Android设备的MAC地址**: MAC(Media Access Control)地址是网络设备的物理地址,用于标识网络上的设备。在Android设备上,MAC...

    JNI 经典学习

    在本教程中,我们将详细介绍如何在Android工程中实现JNI(Java Native Interface)与底层C程序的开发及调用。JNI作为一种强大的工具,允许Java程序与用C/C++编写的本地代码进行交互。这对于需要高性能计算、访问操作...

    JNI_KindleService

    在Java应用中,当你需要提高性能、利用特定硬件功能或者调用已存在的C/C++库时,就会用到JNI。JNI接口提供了在Java虚拟机(JVM)中调用本地方法的能力,同时也允许本地代码调用Java对象的方法。 在描述中提到的"JNL...

    androidstudio使用jni

    2. **创建JNI工程**:在Android Studio中,我们首先需要配置一个新的C/C++模块。在项目设置中,添加一个新的CMakeLists.txt文件来指定编译规则和源代码路径。 3. **定义JNI函数**:在Java代码中,我们需要声明一个...

    Eclipse里Android JNI的开发方法

    ### Eclipse里Android JNI的开发方法 #### NDK开发环境安装 **Native Development Kit ...通过上述步骤,开发者能够在Eclipse环境中顺利进行Android JNI的开发工作,充分利用C/C++的优势来增强应用的功能性和性能。

Global site tag (gtag.js) - Google Analytics