- 所有超级接口:
-
Comparable<Location>,Mirror
位置的行号的可用性取决于从目标虚拟机获得的调试信息级别。
几个镜像接口具有位置。每个这样的镜像都扩展了一个Locatable接口。
位置的源信息取决于所使用的stratum。stratum是翻译序列中的源代码级别。例如,假设baz程序是用编程语言"Foo"编写的,然后转换为语言"Bar",最后转换为Java编程语言。Java编程语言stratum被命名为"Java",假设其他strata被命名为"Foo"和"Bar"。给定位置(通过sourceName()和lineNumber()方法查看)可能在"Foo" stratum的"baz.foo"的第14行,在"Bar" stratum的"baz.bar"的第23行,在"Java" stratum的第71行。请注意,虽然Java编程语言可能只有一个参考类型的源文件,但这个限制不适用于其他strata - 因此应查询每个位置以确定其源路径。不指定stratum的查询(sourceName()、sourcePath()和lineNumber())使用VM的默认stratum(VirtualMachine.getDefaultStratum())。如果指定的stratum(无论是由方法参数显式指定还是隐式作为VM的默认值)为null或在声明类型中不可用,则使用声明类型的默认stratum(declaringType().defaultStratum())。请注意,在代码起源为Java编程语言源时,通常情况下只有一个stratum("Java"),并且将其作为默认返回。要确定可用的strata,请使用ReferenceType.availableStrata()。
- 自版本:
- 1.3
- 参见:
-
Method Summary
Modifier and TypeMethodDescriptionlong获取此位置所在方法内的代码位置。获取此位置所属的类型。boolean将指定的对象与此位置进行比较以检查是否相等。inthashCode()返回此位置的哈希码值。int获取此位置的行号。intlineNumber(String stratum) 此位置的行号。method()获取包含此位置的方法。获取与此位置对应的源的标识名称。sourceName(String stratum) 获取与此位置对应的源的标识名称。获取与此位置对应的源的路径。sourcePath(String stratum) 获取与此位置对应的源的路径。Methods declared in interface java.lang.Comparable
compareToMethods declared in interface com.sun.jdi.Mirror
toString, virtualMachine
-
Method Details
-
declaringType
ReferenceType declaringType()获取此位置所属的类型。通常,声明类型是一个ClassType,但可执行位置也可能存在于InterfaceType的静态初始化程序中。- 返回:
-
包含此位置的
ReferenceType。
-
method
Method method()获取包含此位置的方法。- 返回:
-
位置的
Method。
-
codeIndex
long codeIndex()获取此位置所在方法内的代码位置。- 返回:
- 表示方法内位置的长整型,如果位置在本地方法内则返回-1。
-
sourceName
获取与此位置对应的源的标识名称。此方法等同于
sourceName(vm.getDefaultStratum())- 有关更多信息,请参阅sourceName(String)。- 返回:
- 指定源的字符串
- 抛出:
-
AbsentInformationException- 如果未知源名称
-
sourceName
获取与此位置对应的源的标识名称。对此字符串的解释由源存储库机制负责。返回的名称是指定的stratum(请参阅描述strata的
类注释)。返回的字符串是此位置的源文件的未限定名称。例如,
java.lang.Thread将返回"Thread.java"。- 参数:
-
stratum- 要从中检索信息的stratum,或者为声明类型的默认stratum的null。 - 返回:
- 指定源的字符串
- 抛出:
-
AbsentInformationException- 如果未知源名称 - 自版本:
- 1.4
-
sourcePath
获取与此位置对应的源的路径。此方法等同于
sourcePath(vm.getDefaultStratum())- 有关更多信息,请参阅sourcePath(String)。- 返回:
- 指定源的字符串
- 抛出:
-
AbsentInformationException- 如果未知源名称
-
sourcePath
获取与此位置对应的源的路径。对此字符串的解释由源存储库机制负责。返回的路径是指定的stratum(请参阅描述strata的
类注释)。在参考实现中,对于不显式指定源路径的strata(Java编程语言stratum从不这样做),返回的字符串是
declaringType()的包名转换为平台相关路径,后跟此位置的源文件的未限定名称(sourceName(stratum))。例如,在Windows平台上,java.lang.Thread将返回"java\lang\Thread.java"。- 参数:
-
stratum- 要从中检索信息的stratum,或者为声明类型的默认stratum的null。 - 返回:
- 指定源的字符串
- 抛出:
-
AbsentInformationException- 如果未知源名称 - 自版本:
- 1.4
-
lineNumber
int lineNumber()获取此位置的行号。此方法等同于
lineNumber(vm.getDefaultStratum())- 有关更多信息,请参阅lineNumber(String)。- 返回:
- 指定源中的行数,如果信息不可用则返回-1;特别地,对于本地方法始终返回-1。
-
lineNumber
此位置的行号。行号是相对于由sourceName(stratum)指定的源的。返回的行号是指定的stratum(请参阅描述strata的
类注释)。- 参数:
-
stratum- 要从中检索信息的stratum,或者为声明类型的默认stratum的null。 - 返回:
- 指定源中的行数,如果信息不可用则返回-1;特别地,对于本地方法始终返回-1。
- 自版本:
- 1.4
-
equals
将指定的对象与此位置进行比较以检查是否相等。 -
hashCode
int hashCode()返回此位置的哈希码值。
-