gpt4 book ai didi

java - IntelliJ 在行 > 65536 上安装断点是不可能的

转载 作者:行者123 更新时间:2023-11-30 06:07:19 31 4
gpt4 key购买 nike

我正在尝试使用 IntelliJ 在一个大型 java 文件中的第 65536 (2^16) 行之后安装断点,但事实证明这是不可能的。断点标有“X”,工具提示显示没有可执行代码。

是否有任何 IntelliJ 或 java 选项可以解决该问题? idea.max.intellisense.filesize 已经增加。

我使用的是 64 位 Java 8u144 VM,在 IntelliJ 2018.1.4 上运行。类文件位于 Maven 打包的 .war 文件内,并在 JBoss EAP 7 内运行

最佳答案

看起来 JVM 不喜欢大的 java 类文件。

来自 JVM 规范:

4.7.12. The LineNumberTable Attribute The LineNumberTable attribute is an optional variable-length attribute in the attributes table of a Code attribute (§4.7.3). It may be used by debuggers to determine which part of the code array corresponds to a given line number in the original source file.

If multiple LineNumberTable attributes are present in the attributes table of a Code attribute, then they may appear in any order.

There may be more than one LineNumberTable attribute per line of a source file in the attributes table of a Code attribute. That is, LineNumberTable attributes may together represent a given line of a source file, and need not be one-to-one with source lines.

The LineNumberTable attribute has the following format:

LineNumberTable_attribute {
u2 attribute_name_index;
u4 attribute_length;
u2 line_number_table_length;
{ u2 start_pc;
u2 line_number;
} line_number_table[line_number_table_length];
}

start_pc 和 line_number 是“u2”类型(unsigned, 2 byte ints) 表示行号信息源行索引大于后未定义大于 2^16 = 65536。

关于java - IntelliJ 在行 > 65536 上安装断点是不可能的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51038007/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com