跳过导航链接 | |
退出打印视图 | |
Oracle Solaris Studio 12.3:使用 dbx 调试程序 Oracle Solaris Studio 12.3 Information Library (简体中文) |
使用 dbx 调试由 Java 代码和本地代码组成的混合型代码时,dbx 命令分为以下几类:
第一类命令:接受相同的参数,而且在 Java 模式或 JNI 模式下的运行方式与本地模式下相同(请参见在 Java 模式和本地模式下具有完全相同语法和功能的命令)。
第二类命令:具有仅在 Java 模式或 JNI 模式下有效的参数,或者仅在本地模式下有效的参数(请参见在 Java 模式下有不同语法的命令))。
第三类命令:仅在 Java 模式或 JNI 模式下有效(请参见只在 Java 模式下有效的命令)。
未包括在上述任一类别的命令只在本地模式下有效。
在大多数 dbx 命令中使用的 Java 表达式计算器支持以下构造:
所有文字
所有名称和字段访问
this 和 super
数组访问
类型转换
条件二进制运算
方法调用
其他一元/二进制运算
对变量或字段赋值
instanceof 操作符
数组长度操作符
Java 表达式计算器不支持以下构造:
限定的 this,例如 <ClassName>.this
类实例创建表达式
数组创建表达式
字符串并置操作符
条件操作符 ?:
复合赋值操作符,例如 x += 3
一种特别有用的检查 Java 应用程序状态的方式是在 IDE 或 dbxtool 中使用监视功能。
建议不要依赖表达式中作用不限于检查数据的精确值语义。
只有在 JVM 软件启动后,有关 Java 应用程序的许多信息才可正常使用,并且执行完 Java 应用程序后,这些信息将不再使用。但是,使用 dbx 调试 Java 应用程序时,dbx 会在启动 JVM 软件前从属于系统类路径和用户类路径的类文件和 JAR 文件中收集其需要的一些信息。这样 dbx 便可在您运行应用程序前更好地对断点进行错误检查。
有些 Java 类及其属性可能无法通过类路径进行访问。dbx 可以检查并逐步执行这些类,这些类被装入后,表达式解析器便可以访问它们。但它收集的信息是临时性的,JVM 软件终止后便不再可用。
dbx 调试 Java 应用程序所需的某些信息在任何地方均无记录,因此,dbx 会在调试代码期间浏览 Java 源文件来取得这些信息。
以下 dbx 命令在 Java 模式下和本地模式下具有相同的语法并执行相同的操作。
|
以下 dbx 命令在进行 Java 调试时所用的语法与进行本地代码调试时所用的语法不同,而且在 Java 模式下的运行方式也与本地模式下的运行方式不同。
|
以下 dbx 命令仅在 Java 模式或 JNI 模式下有效。
|