jni调试之GCJ

标签: jni 调试 gcj | 发表时间:2014-02-08 01:02 | 作者:happytengfei
出处:http://blog.csdn.net

这几天用JNI写了一个Demo, 然后就想着我应该怎么调试JNI的程序呢?以前做过android的开发,知道在android上可以用ndk-build + ndk-gdb调试c,c++的code. 那么在Linux上,在没有图形界面的环境下,怎么调试JNI的程序呢?


Google了很长时间,尝试了各种方法,得到如下的方案:

1 使用GCJ将Java编译成class 文件

gcj -C *.java 

mv *.class bin/packagename or target/classes/packagename


2 cd bin or target/classes

 gcj -fjni -L../lib -llibname1 -llibname2 -Wl,-R../lib -o sample  packagename/*.class --main=com.MainApp


这样就生成了可执行文件sample, 注意这里的选项-fjni 和 -Wl,-R


3 接下来,就可以用GDB调试应用程序了

作者:happytengfei 发表于2014-2-7 17:02:24 原文链接
阅读:141 评论:0 查看评论

相关 [jni 调试 gcj] 推荐:

jni调试之GCJ

- - CSDN博客互联网推荐文章
这几天用JNI写了一个Demo, 然后就想着我应该怎么调试JNI的程序呢. 以前做过android的开发,知道在android上可以用ndk-build + ndk-gdb调试c,c++的code. 那么在Linux上,在没有图形界面的环境下,怎么调试JNI的程序呢. Google了很长时间,尝试了各种方法,得到如下的方案:.

JAVA基础之理解JNI原理

- shuangxi - 博客园-首页原创精华区
JNI是JAVA标准平台中的一个重要功能,它弥补了JAVA的与平台无关这一重大优点的不足,在JAVA实现跨平台的同时,也能与其它语言(如C、C++)的动态库进行交互,给其它语言发挥优势的机会. 有了JAVA标准平台的支持,使JNI模式更加易于实现和使用. 环境说明:ubuntu 10.4.2 LTS系统.

【转】JNI编程 —— 让C++和Java相互调用

- - 研发管理 - ITeye博客
JNI其实是Java Native Interface的简称,也就是java本地接口. 它提供了若干的API实现了和Java和其他语言的通信(主要是C&C++). 也许不少人觉 得Java已经足够强大,为什么要需要JNI这种东西呢. 我们知道Java是一种平台无关性的语言,平台对于上层的java代码来说是透明的,所以在多数 时间我们是不需要JNI的,但是假如你遇到了如下的三种情况之一呢.

JNI开发之锅炉压力监控器

- - CSDN博客推荐文章
这个例子主要是演示了JNI在实际开发中的开发流程. 在实际开发中,android工程师只需要从C/C++工程师那里. 拿到底层的一些逻辑代码,整合到jni目录下的.c文件即可. 代码的链接地址: http://download.csdn.net/detail/caihongshijie6/6651355.

Android 之 JNI 开发 详解 - NDK从入门到精通

- - CSDN博客推荐文章
-- 第一个JNI示例程序下载 :  GitHub - https://github.com/han1202012/NDKHelloworld.git . JNI概念 : Java本地接口, Java Native Interface, 它是一个 协议, 该协议用来沟通Java代码和外部的本地C/C++代码, 通过该协议 Java代码可以调用外部的本地代码, 外部的C/C++ 代码可以调用Java代码;.

NDK开发第一课:环境配置与第一个JNI程序 - 阿飞的博客 - CSDN博客

- -
    JNI 是 Java Native Interface 的缩写,即 Java 的本地接口.     目的是使得 Java 与本地其他语言(如 C/C++)进行交互.     JNI 是属于 Java 的,与 Android 无直接关系.     NDK 是 Native Development Kit 的缩写,是 Android 的工具开发包.

Log调试

- - ITeye博客
在开发中我们一定不能避免使用Log类,但是这个类存在一个问题就是,当你在程序中使用了大量的Log,那么在程序开发完毕的时候,这将是一个问题,因为,你需要将所有的Log记录注释掉(当然,你不注释也是可以的). 我们可以写一个类,将Log类包装起来,使用一个boolean来控制所有的Log记录的显示. public static final boolean isDebug = true;//这里控制所有Log的显示情况.

Python调试

- - 企业架构 - ITeye博客
原文地址: http://blog.csdn.net/xuyuefei1988/article/details/19399137. 1、下面网上收罗的资料初学者应该够用了,但对比IBM的Python 代码调试技巧:. IBM:包括 pdb 模块、利用 PyDev 和 Eclipse 集成进行调试、PyCharm 以及 Debug 日志进行调试:.

前端调试技巧(PC调试)

- - 掘金 前端
前端工作中,不仅编码很重要,重现bug,解决bug的能力同样重要. 本文就一些调试技巧做出总结,不足之处,欢迎大家多多补充. 在你觉得有问题的代码处,加上一句 console.log() 就好了. 然后在开发者工具控制台就可以看到你打印出来的东西了. 在代码中添加 debugger 语句,当代码执行到该语句的时候就会自动断点.