本文讲述怎样在仿真环境下,调试JAVA card 的APPLET。
通过JCOP在Eclipse进行仿真调试,启动JCOP调试器。我们能够看到例如以下图:
要仿真调试,就是在命令输入框里面输入JCOP相关的指令,通过阅读JCOP的帮助文档,我们看到JCOP提供的命令不算繁多,大约40个。
以下我挑选经常使用的几个来说明:
1. 复位卡片:“/atr”。假设不加不论什么參数,表示马上复位。
2. 发送指令:“/send”,这是最直观的调试指令。
能够逐个指令发送给仿真器,类似真实环境里面读卡器与卡片的交互。Send指令后面的參数。不能加空格,假设不加不论什么控制符,JCOP默觉得十六进制。增加“|”。可字符转化为十六进制,增加“#”。可计算后面字符的长度的值。比方:
/send 00A404000E315041592E5359532E4444463031 (不加不论什么控制符的情况)
/send "0102|ab|03 04|cd" ==> /send 01 02 61 62 03 04 63 64
/send "01#(|ab|#{FE FF})" ==> /send 01 05 61 62 02 FE FF
3. 查看版本号:“version”。
以上是逐个指令输入的情况,能够结合Eclipse的断点功能。查看程序执行过程中的变量值的变化。
假设我们有多条指令须要一起运行,能够直接让仿真器运行脚本。
比方个人化,或者进行稳定性測试的情况下,可採用以下的方法:
1. 设置内部变量:“/set-var”。设置脚本运行的路径,比方在命令输入框输入:
/set-var path "E:JCOP_Script"
2. 在“E:JCOP_Script”这个路径下,编写对应脚本,比方我这么写:
请留意几点:
a. 我写文件的名称是“perso1.jcsh”。后缀必须是.jcsh;
b. 凝视请以“#”開始;
c. 内容就是各条JCOP指令组成。
3. 因为我写的文件名是perso1.jcsh。在指令框中直接输入 perso1,就可以。
图中能够看到JCOP逐条已经运行文件中面的指令。