本文主要讲解Android虚拟机动态调试背后涉及到的技术原理,除了JDWP协议细节,还包括任意位置断点、堆栈输出、变量值获取等基础调试功能的具体实现。另外本文提供了一款新的android动态调试工具——AVMDBG,提供调试API接口,支持python脚本扩展。作为android调试技术研究过程中的实验项目,AVMDBG功能尚不完善,开源出来仅供参考,如过有bug或其他疑问反馈欢迎提交issue。在讲解android动态调试实现之前,先回顾下针对apk进行动态调试常用的几种方法,比较下不同解决方