roid模拟器 cd /android2.1/out/host/linux-x86/bin (添加了环境变量后就可以在任意目录输入emulator) emulator 2、运行本测试工具 cd /android2.1/dalvik/tests ./run-test --debug 017 此时在shell下将显示如下内容: [seucr@android2 tests]$ ./run-test --debug 017-float/ /home/seucr/android2.1_r2/dalvik/tests/017-float: running... (等待调试器连接) 3、运行DDMS DDMS(Dalvik Debug Monitor Server)可以看做连接设备和JDWP调试器的桥梁,它显示设备当前的进程、方法等内容,允许向设备发送命令,调试器可以通过它看到设备底层的PID号、进程号等内容。 cd /android2.1/out/host/linux-x86/bin ddms 此时在DDMS界面上可以看到当前模拟器的运行状态。由于此时已经在运行debug下的测试,因此在DDMS上可以看到一个进程名叫“?”,点击它。 4、运行JDB调试 jdb -attach localhost:8700 此时shell会显示如下内容: [seucr@android2 bin]$ jdb -attach localhost:8700 Set uncaught java.lang.Throwable Set deferred uncaught java.lang.Throwable Initializing jdb ... > VM Started: "thread=<3> main", dalvik.system.NativeStart.main(), line=-1 bci=-1 <3> main[1] 此时就已经进入了调试界面,通过help命令可以看到可执行的命令,包括run、step、stepi等很多。直接运行run可以跑完测试程序。 5、结果分析 最终的结果很有可能是测试FAILED(判断依据下文将详细叙述)。这是因为在执行build时前期会导致: DDM dispatch reg wait timeout Can't dispatch DDM chunk 52454151: no handler defined 错误,后来就可以正常运行,具体原因不详。但是对比expect.txt和output.txt,可以看出期望的结果已经运行出来了。
|