javac的调试选项-g 主要包含了三个子选项:lines, vars, source
如果没有指定-g参数,javac是默认包含了lines和source选项,若指定-g参数则会包含所有三个选项。
下面分别简要解释下三个子选项的意义和效果:
source: 将该class文件对应的源文件名称写进class中,这样在调试进入这个类时调试器就可以找到指定的源文件。可能有些同学会问:class的类名不就是源文件的名称吗,包命就是从classpath开始的路径。这种情况只是针对访问修饰符为public的类,一个源文件可以定义多个类(甚至是内部类)。如果在调试的过程中说找不到源文件,则很有可能是在编译的时候没有加上该选项。
lines: 将源文件中的行号和class中字节码的偏移量对应起来,这样当你下断点的时候,调试器就知道该断点对应到class字节码的哪条指令。如果不设置该选项,那么你根本就没办法下断点。抛异常的时候也不会给出行数信息。
vars: 局部变量的符号表。比如在eclipse调试的时候,可以边调试边看变量的信息,这些都要归功与局部变量的符号表,它可以帮助把运行过程中的变量值和源代码中的变量名对应起来。如果没有它,调试的时候是不能看到局部变量的值的,方法的参数也变成了arg1,arg2...。
分享到:
相关推荐
2. **编译选项**:javac 接受多种命令行选项,如 `-g` 用于生成调试信息,`-classpath` 指定类路径等。这些选项在 `com.sun.tools.javac.main.Options` 类中管理。 3. **错误和警告**:`...
javac 命令行支持多种选项,如 `-g` 用于添加调试信息,`-classpath` 定义类路径,`-source` 指定 Java 版本等,这些选项通过 `com.sun.tools.javac.main.Main` 类的 `compile` 方法处理。 深入研究 javac 源码...
在IT领域,尤其是在Java开发中,遇到“javac不是内部或外部命令”的错误是一个常见的问题,...正确配置环境变量是关键,而熟悉javac命令及其选项则能进一步提升开发效率。希望本文能帮助你在Java编程的道路上更进一步。
本文将详细介绍`javac`命令及其常用选项,帮助初学者更好地理解和掌握这一工具。 #### javac 命令概述 `javac`是Java编译器的命令行工具,用于将Java源代码文件编译成字节码文件(.class)。它支持一系列选项来...
- 测试是否安装成功: 打开命令提示符,输入`javac -version`,若能显示版本号则表示配置成功。 ##### 2. Android SDK安装步骤 **目的:** 开发Ionic应用需要Android SDK支持,特别是用于模拟器和真机调试。 - **...
- `javac`支持多种选项,如: - `-g`:生成所有调试信息。 - `-g:none`:不生成任何调试信息。 - `-g:{lines,vars,source}`:仅生成某些调试信息。 - `-nowarn`:不生成任何警告。 - `-verbose`:输出有关...
通过以上对`javac.exe`和`java.exe`命令及其选项的详细介绍,我们可以看到JDK提供的工具非常强大且灵活。正确地利用这些命令行工具,可以极大地提高Java应用程序的开发效率和质量。希望本文能够帮助广大Java开发者更...
- `javah -g [选项] 类名`:生成调试信息。 - 选项 `-o 文件`:指定输出文件名。 - 选项 `-d 目录`:指定输出文件所在的目录。 - 选项 `-classpath 路径`:设置类路径。 #### 5. `javap` - **概述**:`javap` ...
- **编译选项**:`javac`还提供了多种编译选项,如`-g`用于生成调试信息、`-d`用于指定输出目录等,这使得开发者可以根据实际需求更灵活地控制编译过程。 - **集成开发环境(IDE)**:虽然使用命令行编译Java程序是一...
此外,还可能使用`compilerarg`来传递额外的编译选项,如 `-g`(生成调试信息)或 `-source` 和 `-target` (指定Java语言版本)。 总的来说,"Using the ant javac adapter"涵盖了在Ant构建环境中如何有效利用...
- **-g选项**:此选项可以生成调试信息,便于程序调试。 - **-O选项**:此选项开启优化编译,提高程序运行效率。 - **-nowarn选项**:忽略警告信息。 - **-verbose选项**:显示详细编译过程信息。 - **-classpath...
否则,如果使用`javac`命令行编译,需要添加`-g`选项以生成调试信息。对于Ant构建,可以在`javac`任务中设置`debug="true"`。 3. 确保在打包成jar时,包含了源代码或源代码的引用,以便在调试时查看源码。 接下来,...
javac 命令的使用格式为:javac <选项> <源文件> 其中,可能的选项包括: * -g 生成所有调试信息 * -g:none 不生成任何调试信息 * -g:{lines,vars,source} 只生成某些调试信息 * -nowarn 不生成任何警告 * -...
- `-g`: 生成调试信息,如行号和变量表。 - `-nowarn`: 关闭警告信息。 **4. 编译错误和警告** `javac`在编译过程中会检查源代码的语法和类型错误,如果发现错误,它会打印出错误信息,指出问题所在行。警告信息则...
- **编译选项**:通过使用`-g`或`-g0`选项进行编译,可以包含必要的调试信息。`-g`会打开调试信息并关闭内联函数,而`-g0`则只打开调试信息,不影响内联函数。值得注意的是,`-g0`显著减少了链接时间和dbx启动时间。...
2. 输入 javac,如果出现如下信息用法:javac <选项> <源文件>其中,可能的选项包括:-g 生成所有调试信息,-g:none 不生成任何调试信息,-g:{lines,vars,source} 只生成某些调试信息,-nowarn 不生成任何警告,-...
- `-g`:生成所有调试信息。 - `-nowarn`:不生成任何警告。 - `-verbose`:在编译时输出详细信息。 7. Javah工具选项: - `-o`:指定输出文件。 - `-d`:指定输出目录。 - `-t`:指定生成stub文件的目录。 - `-...