zoukankan      html  css  js  c++  java
  • 命令行工具jdb调试Java程序

    一直在gdb 下调试c/c++程序。
    
    突然要写个java程序,又不是很喜欢使用eclipse,那怎么调试程序呢。你还可以使用 jdb。
    
    它是jdk 内置的一个java debug工具。类似与 gdb。不过功能稍弱,但也已经很值得敬佩了。
    
    假如你的java源代码是 hello.java 文件。那么你需要编译的时候加上 -g 选项。这一点和 gdb 一致。怎么做?
    
    javac -g hello.java
    
    此时会生出一个 hello.class的文件。现在可以调试了。类似于 java命令一样,jdb也仅仅需要加上类名(不需要 .class)
    
    jdb hello
    
    加载成功后,我们通常会在 main函数的位置加上断点。怎么做?
    
    stop in hello.main
    
    如何查看被成功加入的断点?
    
    clear
    
    成功后,运行程序。
    
    run
    
    此时程序暂停到main函数的第一行
    
    我们可以源代码
    
    list
    
    包含等号和大于号的行是当前即将执行的行。仅仅执行当前行,怎么做?
    
    step
    
    如果要查看某个变量的值比如变量 i的值。怎么做?
    
    print i
    
    dump i
    
    eval i
    
    如果你认为这个值是错的,比如它是1,可是你需要是2。如何修改它?
    
    set i = 2
    
    如何显示当前堆栈帧中的所有本地变量
    
    locals
    
    想要执行并跨过某个函数。怎么做?
    
    next
    
    想要一次只执行一个指令。怎么做?
    
    stepi
    
    这一点和gdb是一致的。
    
    从当前位置直接执行到程序结束(或者下一个断点或信号)
    
    cont
    
    想要重复执行最后一个命令?
    
    !!
    
    将某个命令重复执行n次?
    
    <n> <命令>
    
    写出所有帮助
    
    help
    
    ?
    
    查看jdb的版本号
    
    version
  • 相关阅读:
    Visual Studio各版本区别
    调试ASP.NET网站IIS环境问题解决方法汇总
    关于Webpage Not Found问题解决~~~
    SpringCloud+vue搭建的商城项目
    springcloud实现限流
    ReentrantLock
    栈和堆的特点
    你用对锁了吗?浅谈 Java “锁” 事
    ReentrantReadWriteLock读写锁的使用
    OAuth2
  • 原文地址:https://www.cnblogs.com/zendu/p/5611227.html
Copyright © 2011-2022 走看看