jdb应用】的更多相关文章

在linux调试C/C++的代码需要通过gdb,调试java代码呢?那就需要用到jdb工具了.关于jdb的用法在网上大家都可以找到相应的文章,但是对scala进行调试的就比较少了.其实调试的大致流程都是一样的,只是需要注意一些细节的地方就可以了.下面就来简单说明一下.在这里关于scala和jdk的配置问题就不再详述了,下面进入正题吧. 首先放上调试用的scala代码hello.scala object hello { def main(args: Array[String]): Unit = {…
jdb 是一个简单的命令行调试器,可以调试本地或远程 Java Virtual Machine. jdb [ options ] [ class ] [ arguments ] options 命令行参数 class 调试的类名称 arguments main函数的参数 1. 开始调试 有两种方式启动调试,一个是新启动一个 JVM 加载指定的类,然后在开始执行指令时停止:另一个是连接到一个正在运行的 JVM.具体方法如下. (1) C:\> jdb MyClass (2) C:\> java…
Ext3介绍 对于ext3文件系统,磁盘空间划分一系列block groups,每个group有位图来跟踪inode和data块的分配和范围.其物理布局如下: Superblock:位于group内第0个block,为了保证兼容,前1024B字节为0,SB从1024B偏移处存储,大小1024B.存储的是文件系统相关信息,在多个group中有备份(0,1,3,5,7,9,25,37,49,81等).大部分信息在格式化时确定,并只读.可以用dumpe2fs命令查看: Group Descriptor…
jdb - Java debugger 功能描述: 通过简单的命令行程序,对本地或远程jvm进程进行调试. 开启jdb会话: 有多种方式可以开启jdb会话. (1)常见的方式是采用Jdb命令打开一个新的jvm进程进行调试. 通过将jvm进程启动命令的java替换成jdb就可以了. 通过此方式启动jdb会话,将开启一个jvm进程,加载指定的class, 并停在第一条执行的指令前. 如: 当前目录有Java源文件 Test.java,  经过 javac -g Test.java 编译生成包含调试信…
原文地址: http://www.javaworld.com/article/2077445/testing-debugging/debug-with-jdb.html Q: How do you use jdb (included in the JDK 1.2 package) effectively to debug Java programs? I've tried many times, but I am successful only in loading a class file t…
JDK内置工具使用 一.javah命令(C Header and Stub File Generator) 二.jps命令(Java Virtual Machine Process Status Tool) 三.jstack命令(Java Stack Trace) 四.jstat命令(Java Virtual Machine Statistics Monitoring Tool) 五.jmap命令(Java Memory Map) 六.jinfo命令(Java Configuration Inf…
C:\Users\Reverse>adb shell am start -D -n lwf.lc.pncdd/lwf.lc.pncdd.MainC 查看内存情况: cat /proc/N/maps jdb调试目标进程 C:\Users\Reverse>adb jdwp 查看目标进程PID C:\Users\Reverse>adb forward tcp:9999 jdwp:PID 转发 C:\Users\Reverse>jdb -connect com.sun.jdi.Socket…

jdb

http://herongyang.com/jtool/jdb.html http://www.rhcedan.com/2010/06/22/killing-a-java-thread/ 用处:上去杀死一个线程,! "jdb" Command "jdb": A command line tool that allows you to debug a Java application interactively with in a command line mode.…
Java程序中有逻辑错误,就需要使用JDB来进行调试了.调试程序在IDE中很方便了,比如这篇博客介绍了在Intellj IDEA中调试Java程序的方法. 我们课程内容推荐在Linux环境下学习,有同学问如何在命令行下调试Java程序,我们就要使用JDB了.在Ubuntu Bash中开三个tabs在命令行下学习Java编程也是一个很好的方法:一个使用vim编辑代码:一个使用javac, java(或ant, gradle...)编译运行代码:一个使用JDB调试代码. 如上图, 我们在Linux…
20175221 <Java程序设计> 迭代和JDB(课下作业,选做): 任务详情 1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功能 2 m,n 要通过命令行传入 3 提交测试运行截图(至少三张:正常如c(3,2).异常如c(2, 3).边界情况如c(m,m)) 4 提交正常情况下用JDB调试程序c(X,2)的截图,X为学号最后一位+3,至少四张截图 5 把代码推送到码云 完成截图 代码如下: import java.util.Scan…
迭代与JDB测试 C(n,m)组合数的判定 实验要求 1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功能 2 m,n 要通过命令行传入 实验案例 测试运行截图 c(3,2)的测试 c(2,3):c(2,2)的测试 根据组合数的定义,c(n,m) 当m=n时,c(n,m)的值为1 当m=0时,c(n,m)的值为1 所以可得出上述截图的测试结果. 实验测试联系 用JDB调试程序c(X,2)的截图,X为学号最后一位+3 分配资源并进行断点设置后断…
迭代和JDB调试 1.使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功能 代码展示: public class C { public static void main(String args[]) { int [] temp = new int [args.length]; int sum; for(int i=0; i<args.length;i++) { temp[i] = Integer.parseInt(args[i]); } sum…
迭代和JDB 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功能. 源代码 public class Combination { public static void main(String args[]) { int c,n,m; n = Integer.parseInt(args[0]); m = Integer.parseInt(args[1]); c = Result(n, m); if (c == -1) System.out.pri…
迭代和JDB(课下作业,选做) 题目要求 1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功能 2 m,n 要通过命令行传入 3 提交测试运行截图(至少三张:正常如c(3,2).异常如c(2, 3).边界情况如c(m,m)) 4 提交正常情况下用JDB调试程序c(X,2)的截图,X为学号最后一位+3,至少四张截图 5 把代码推送到码云 代码 public class Combination { public static void main(…
1.题目要求 2.程序设计 首先,命令行输入,还是考虑先将输入的数据转化为整型变量 然后,看到C(n,m)=C(n-1,m-1)+C(n-1,m)公式以及"迭代"这两个字,首先想到了学C语言时的"递归",因此,就在新的"shixian"类下的方法中尝试"递归" 刚开始因为没有考虑全面m=1及m=n的情况,在测试的过程中出现了计算错误的情况 之后用if-else语句对程序进行了改进 然后,又进行了测试,在测试m=3,n=2的情况…
要求 1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功能 2 m,n 要通过命令行传入 3 提交测试运行截图(至少三张:正常如c(3,2).异常如c(2, 3).边界情况如c(m,m)) 4 提交正常情况下用JDB调试程序c(X,2)的截图,X为学号最后一位+3,至少四张截图 5 把代码推送到码云 1.代码 import java.util.*; public class zuHe { public static void main(Str…
一.任务详情 二.设计过程的问题及解决 1.程序编译时一直提示编译出现错误. 原因及解决:本以为声明对象和创建对象一起进行时,可以直接采用如zhubajie = new Xiyoujirenwu();这样的句势.后来仔细查看书第58——61页,发现这样只是在为对象分配变量,没有进行提前的声明.在名字前加上new,问题得到解决,编译通过. 2.结果不是预想结果. 原因及解决:自己开始是将数组长度设置为2,而不是设置为args.length:并且开始使用了++i,而不是i++.仔细分析代码后,将这两…
在Ubuntu中使用JDB调试代码 了解JDB JDB是JDK安装的一部分,是基于文本和命令行的调试工具,JDB是可以免费获取且平台独立的,缺点是只有命令行格式. JDB基础命令 在方法中设置断点stop in <class ID(类名)><method(方法)> 在行中设置断点stop at <class ID>:<line> 下一步:当前行step 当前行+跳过进入函数next 当前指令stepi 执行至当前方法结束step up 执行至下一断点next…
[hadoop@hadoop-01 ~]$ javac -help Usage: javac <options> <source files> where possible options include: -g Generate all debugging info -g:none Generate no debugging info -g:{lines,vars,source} Generate only some debugging info -nowarn Generate…
解决键盘输入被JDB占用的问题 本周的任务"迭代和JDB"在使用JDB调试时需要键盘输入数据,但我在正确的位置输入数据后发现JDB提示如图所示的错误. 上网查找后得知该错误的产生是因为JDB占用了控制台,于是我写了这篇博客来与大家分享一下我所用的解决办法. 解决步骤 a.打开第一个终端,首先使用javac命令对源代码进行编译,编译结束后,使用cd命令进入字节码文件所在的文件夹. b.进入文件夹后,使用java -Xdebug -Xrunjdwp:transport=dt_socket,…
20175314 <Java程序设计>迭代和JDB 要求 1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功能 2 m,n 要通过命令行传入 3 提交测试运行截图(至少三张:正常如c(3,2).异常如c(2, 3).边界情况如c(m,m)) 4 提交正常情况下用JDB调试程序c(X,2)的截图,X为学号最后一位+3,至少四张截图 5 把代码推送到码云 代码 因为之前没有注意到第二项要求,第一次写代码用到的是Scanner: import j…
使用JDB调试简单递归程序 跟着娄老师的博客学习, 首先在终端使用Ctrl+Shift+T打开三个标签,方便操作. 使用Vim编辑自己的程序,练习程序如下 1 public class Factorial { 2 public static void main(String [] args) { 3 System.out.println(fact(5)); 4 } 5 6 public static int fact(int n) { 7 if (n == 0) 8 return 1; 9 el…
迭代和JDB 题目 1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功能 2 m,n 要通过命令行传入 3 提交测试运行截图(至少三张:正常如c(3,2).异常如c(2, 3).边界情况如c(m,m)) 4 提交正常情况下用JDB调试程序c(X,2)的截图,X为学号最后一位+3,至少四张截图 5 把代码推送到码云 代码 public class zuheshu { public static void main(String[] args)…
迭代和JDB 1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功能 zuheshu.java文件夹下的代码: import java.util.Scanner; public class zuheshu { public static void main(String args[]) { qiuzhi a=new qiuzhi(); System.out.println("输入m"); Scanner reader1=new Sca…
迭代和JDB调试 题目要求 1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功能 2 m,n 要通过命令行传入 3 提交测试运行截图(至少三张:正常如c(3,2).异常如c(2, 3).边界情况如c(m,m)) 4 提交正常情况下用JDB调试程序c(X,2)的截图,X为学号最后一位+3 5 把代码推送到码云 代码 import java.util.Scanner; public class DIEDAI { public static int…
一.JDB调试        在预发环境下进行debug时,时常因为工具和环境的限制,导致debug体验非常差,那么有什么方法能够简化我们进行debug的体验吗?JDB就是一种.        JDB是 The Java Debugger 的简称,它可以用来debug一个Java程序,同时它是 JPDA 的一个参考实现,只是这个实现是基于命令行的. 使用JDB的目的是,更细节的诊断和操控代码,如果只是观察值,可以使用arthas之类的工具 1.1.JPDA JPDA将调试过程分为两部分:被调试的…
jdb是一个支持java代码级调试的工具,它是由java jdk提供的,存在于xxx\Java\jdk1.6.0_21\bin之下 使用ddms调试时,主机会打开另外一个网络端口,在DDMS里查看,一般是8700. 启动DDMS,这时程序前面应该有个红色小虫,点上面的开始调试按钮.这步不是必须的,这步的工作其实相当于手动敲: $ adb -d forward tcp:8700 jdwp:$PID 其中$PID为要调程序的进程号. 通过attach方式进行调试步骤: 显示所有可供调试的用户进程:…
1.使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功能 public class C { public static void main(String args[]) { int [] temp = new int [args.length]; int sum; for(int i=0; i<args.length;i++) { temp[i] = Integer.parseInt(args[i]); } sum = fact(temp[0],…
目录 一.jdk工具之jps(JVM Process Status Tools)命令使用 二.jdk命令之javah命令(C Header and Stub File Generator) 三.jdk工具之jstack(Java Stack Trace) 四.jdk工具之jstat命令(Java Virtual Machine Statistics Monitoring Tool) 四.jdk工具之jstat命令2(Java Virtual Machine Statistics Monitori…
1) jdb调试正在运行的进程: 先使用jps先确定进程号,然后让jdb连接上目标进程(23549换成实际的进程号): jdb -connect sun.jvm.hotspot.jdi.SAPIDAttachingConnector:pid=23549 接着,可以使用thread N切换线程(使用threads命令可以查看有哪些线程),如:thread 1,然后就可以使用where命令查看调用栈了(jdb中的where相当于gdb的bt). 2) jdb调试未运行的程序: 程序代码: hadoo…