我正在创建一个程序来在java中查找空指针取消引用。使用的方法是首先使用 javap 命令提取java字节代码,然后从中提取控制流图(CFG)信息。一旦从字节代码获得CFG,我就对字节代码进行分析以识别空分配和解除引用。如果存在从空分配到解除引用的流可能,则指出这些路径。 现在我遇到的问题是我将字节代码中的空赋值和解引用标识为字节代码行号。但是显示字节码语句是没有用的。因此,我想将获得的行号映射到相应的源代码行号,以显示它被指定为null的位置。我该如何实现呢?
注意:我知道比在字节代码中识别它更容易在源代码中识别为null赋值然而我开始使用字节代码以便于提取CFG现在我没有时间从源代码更改程序以进行分析。