PKU-ASAL / SeeWasm

A native symbolic execution engine for WebAssembly
40 stars 3 forks source link

PC 在遍历时未被正确更新 #14

Closed HNYuuu closed 3 years ago

HNYuuu commented 3 years ago

Describe the bug state 中的 pc 本意是表示执行到了当前函数的第几个指令,但是从 debug/pc-counter 分支下的 out.txt 文件下我们可以看到 func1707,即 main.main 函数的 pc 甚至增长到了 500+,这是完全不可能的。只有一种情况,pc 在 state 切换时未被正确更新,只是单纯的自增

To Reproduce 详见 debug/pc-counter 分支下的 out.txt 文件

Expected behavior pc 可以正常指示走到了哪一条指令上

HNYuuu commented 3 years ago

在 commit 4d436bc0 中,如果 instr_name 属于 term_command 的话,原本是要 halt 的,但是现在将 halt 修改为了 False。这样做是为了 loop 的正常执行吗,但是看起来因为 return 指令没有返回 halt,pc 的更新出错了 @zzhzz

HNYuuu commented 3 years ago

Resolved in commit d210046