所以我正在阅读这篇名为“动态程序分析技术和工具概述”的论文,并列出了不同的仪器技术。
因此根据该论文,我们有源代码,二进制和字节码检测。源代码一个非常清楚,但我看不出字节码和二进制检测之间的区别:
“二进制检测通过修改或添加检测代码 重写编译代码“
和
字节码检测在已编译的代码中执行跟踪。 [...] 静态[字节码]检测涉及更改已编译的代码 执行前离线
有这篇文章:What are the differences between the three methods of code coverage analysis? 谈到“即时”仪器,它非常接近“动态字节码检测”和“动态二进制检测”。
在将程序加载到内存后执行动态二进制检测(实现为即时编译器)
和
当应用程序已在运行时,动态[字节码]检测工作
如果有人能解释我二进制和字节码检测之间的区别,那就太棒了。
非常感谢。
Thibault
答案 0 :(得分:1)
... IMHO
“二进制检测通过修改或重写编译代码来添加检测代码”
编译代码由字节代码组成,所以我看到的是同样的东西。二进制检测可能只意味着二进制文件被检测。