Java “什么是”呢;。“行”;在smali代码语法中是什么意思?(Android Smali代码)

Java “什么是”呢;。“行”;在smali代码语法中是什么意思?(Android Smali代码),java,android,mobile,syntax,smali,Java,Android,Mobile,Syntax,Smali,反编译的smali代码包含.3行或.7行之类的内容 我无法理解.line应该是什么,请详细说明用法。.line n标记用于调试和跟踪。当异常未捕获或需要填写stacktrace时,行号取自.line语句。如果没有,stacktraces就会缺少行号。几乎所有的smali语言都有dalvik字节码或dex格式的直接模拟 .line指令尤其对应于调试信息项定义的状态机发出的位置项,如所述。当我想重新编译smali代码时,我可以删除.line标记吗?@user2525702,如我所述,是,但是调试将更

反编译的smali代码包含
.3行
.7行
之类的内容


我无法理解
.line
应该是什么,请详细说明用法。

.line n
标记用于调试和跟踪。当异常未捕获或需要填写stacktrace时,行号取自
.line
语句。如果没有,stacktraces就会缺少行号。

几乎所有的smali语言都有dalvik字节码或dex格式的直接模拟


.line指令尤其对应于调试信息项定义的状态机发出的位置项,如所述。

当我想重新编译smali代码时,我可以删除.line标记吗?@user2525702,如我所述,是,但是调试将更加困难。@user2525702
。line
是原始Java源代码中转换为smali的以下部分的那一行。如果删除它们,您可能不会在com.foo.bar.bar(bar.java:85)@user2525702上获得类似于
的异常堆栈跟踪,但是为什么要这样做呢?只需对原始源代码进行修改即可重新编译。当您检查封闭源代码应用程序中是否存在潜在的恶意代码时,这很有用。