首页 文章

调用gdb来调试java程序

提问于
浏览
0

我对编程很新,并且在调试java程序时遇到了一些麻烦 . 我尝试使用gdb来调试我的java程序,但无论我怎么努力,它仍然无法正常工作 .

emacs(GUI)的迷你缓冲区中的错误消息始终是“没有这样的文件或目录,gdb” . 我确信我的currrent目录与源文件和编译文件(使用“javac -g xx.java”编译的可执行文件)相同 .

所以,我的困惑是:错误是否与以下内容有关:1 . 调用gdb的错误语法(使用Meta gdb xx)2 . 什么是gdb的可执行java文件/ gdb如何识别它们3.是否有可能我安装EMACS是不完整的,因为我将gdb输入到命令行(Win8系统), NO gdb提示符出现(类似于(gdb ....))

1 回答

  • 2

    错误没有这样的文件或目录,gdb

    • 如果错误消息来自emacs,则表示未安装 gdb . 要解决此问题,请安装 gdb . 请注意 gdb 不是emacs的一部分,它是一个单独的程序 . 如果你得到一个包的 gdb ,它通常是 gcc ,GNU编译器集合的一部分,而不是Emacs . 来源是相同的 - FSF(自由软件基金会)/ GNU项目(GNU不是Unix),但它是不同的/单独的包 .

    • 如果错误消息来自gdb,则表示 gdb 找不到可执行文件 . 请参阅下一点 .

    但是,查看您的描述,更有可能根本没有安装 gdb .

    gdb无法直接调试Java

    gdb 一般不能用于调试Java程序,它只能用于调试使用 gcj 编译成二进制文件的Java程序 . 另见其手册中的Java Debugging with gdb .

    您可能希望转而使用 jdb ,这是JDK附带的Java调试器 .

    Emacs for Java?请改用IDE

    Emacs确实是一位出色的文本编辑器 . 人们对Emacs的笑话,比如“实际Emacs是一个用于开发计算机游戏的Common Lisp实现,恰好有两个最好的文本编辑器之一作为演示应用程序”,这是它的伟大之处 . 我自己也是一名vim用户,我对Emacs及其对计算机科学的贡献(即Common Lisp)只有最深的敬意 .

    但无论Emacs和vim有多好,现在IDE都会将它们击败 .

    三种最流行的Java IDE

    • Eclipse

    • NetBeans

    • IntelliJ IDEA

    我推荐IntelliJ IDEA,并有我的理由,但你不能选择错误 . 他们都很好!

    IDE提供什么?

    • 语法高亮显示

    • 带有最新Java版本的流血边缘

    • 数百项额外检查(特别是IntelliJ IDEA:检查)

    • 大量自动编辑(特别是IntelliJ IDEA:Intentions)

    • 重构

    • Java调试

    • Java反编译

    • 代码覆盖率

    • 代码完成

    • 对JavaDoc帮助的集成访问

    • 与单元测试框架集成

    • 与版本控制系统集成

    • 与Android SDK和Emulator集成

    • 与典型的Java构建工具Ant,Maven,Gradle集成

    • 那些插件很多

    其中一些东西也是由Emacs或vim提供的 - 但不是全部 .

    我的Emacs(或vim)知识怎么样?

    我使用vim来处理任何超过Hello,World的Java,因为像IntelliJ IDEA这样的IDE会好得多 . 经常提出的一个论点是,我们的用户在vim和emacs等编辑中投入了大量资金,学习了所有 生产环境 力的快捷方式 . 这种知识不需要丢失 . IntelliJ IDEA为Vim用户提供了IdeaVim插件,为Emacs用户提供了emacsIDEA插件 . 我不知道,但我可以想象其他IDE有类似的插件 .

相关问题