如何调试JAVA程序?(主要是步骤)

如何调试JAVA程序?(主要是步骤),第1张

1.在你觉得有错的地方设置断点2.点击甲壳虫一样的按钮下面的子按钮,也是甲壳虫一样的,叫Debug3.运行程序,当程序运行到刚才设置断点的位置就会停下来,并且那行代码底色会高亮显示。4.接着你在如下界面你可以看到你想要的信息5.在Variables里面可以查看所有变量的值,比如刚才设置的断点里面的strClassName的值就可以看到。 6.下面按钮第一个是进入方法执行,比如你调用了其他方法,可以进入方法一步一步执行,如果点击第二个按钮,只会在本方法内一步一步执行,第三个按钮时你跳出此方法,继续执行调用这个方法的原方法。7下面这个按钮时直接执行完程序。8差不多就这些了,还有不明白可以继续QQ咨询我~

问题描述 该函数在win平台上面调用不是很成功 GUI会可以调出来 但可能和屏蔽调其中的一些用到CUI的功能 而调用CUI如ma *** exe是很不成功 出现一个黑屏 没用内容 或者根本不有结果 其程序如下 class RunThread{ Process t public void run(){ try{ t = java lang Runtime getRuntime() exec( c:\\ma *** exe )}catch(java io IOException e ) { System out println(e)}}}/************************************************/class RunExeNative{ public static void main(String args[]){  RunThread RT = new RunThread() RT run()}}下面是JNI + C 的本地化的实现方法 写一个 CallExeNative h步骤如下 step one :/**** CallExeNative java ****/编写CallExeNative java文件import java lang *class CallExeNative{  public native static void CEN()  static { System loadLibrary( CallExeNative )}}在命令行里用:javac CallExeNative javajavah CallExeNative然后你就多了一个 CallExeNative h它的文件如下 /* DO NOT EDIT THIS FILE it is machine generated */#include <jni h>/* Header for class CallExeNative */#ifndef _Included_CallExeNative#define _Included_CallExeNative#ifdef __cplusplusextern C {#endif/* * Class: CallExeNative * Method:CEN * Signature: ()V */JNIEXPORT void JNICALL Java_CallExeNative_CEN (JNIEnv * jclass)#ifdef __cplusplus}#endif#endif这个文件不用改 下面要写一个CallExeNative c文件 该函数的功能是将你的CUI文件调出来文件如下 #include C:\CallExeNative h /*在你的机器上调试时可能要修改该文件路径*/#include <stdio h>#include <process h>#include <conio h>JNIEXPORT void JNICALL Java_CallExeNative_CEN(JNIEnv* env jclass cl){char prog[ ]printf( Hello CallExeNative!\n )  printf( Enter name of program to exec: )  gets( prog )  _execl( prog prog _execl o NULL )}现在visual c++ 的cl 功能在命令行下c:\>cl /LD CallExeNative c之后你 会发现生成了一个CallExeNative dll文件 现在写RunExeNative java文件 /*includeCallExeNative hCallExeNative dll*/import java lang */*load a native method : to call a native file*/class CallExeNative{  public native static void CEN()  static { System loadLibrary( CallExeNative )}}/************************************************/class RunExeNative{ public static void main(String args[]){ CallExeNative CEN = new CallExeNative() CEN CEN()}}同样用javac RunExeNative javajava RunExeNative之后你就会发现提示你输入CUI文件的路径 你输入路径即可!说明 要注意的是CallExeNative h和CallExeNative dll应该都在同一个文件夹(我的是在c:\jdk _ \bin\) 不足之处 破坏了java的移植性!而且你想想看 同样的功能在VB下用Shell(filepath windowstyle)很容易就搞定 你还会用java吗?我写这篇文章的目的是希望大家找到一种更好的方法来实现这个功能 lishixinzhi/Article/program/Java/hx/201311/25805


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7955860.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存