【发布时间】:2022-10-02 15:12:22
【问题描述】:
我正在研究基于 klee 工具的符号执行。我正在通过 docker 运行 klee。我创建一个目录并将 c 程序文件保存在该目录中。但是从klee退出后,再重新进入klee,显示没有这个目录,我保存的程序丢失了。请帮我解决这个问题。希望您能提供帮助。提前致谢!!
标签: c terminal ubuntu-18.04 klee symbolic-execution
我正在研究基于 klee 工具的符号执行。我正在通过 docker 运行 klee。我创建一个目录并将 c 程序文件保存在该目录中。但是从klee退出后,再重新进入klee,显示没有这个目录,我保存的程序丢失了。请帮我解决这个问题。希望您能提供帮助。提前致谢!!
标签: c terminal ubuntu-18.04 klee symbolic-execution
我已经确定了问题所在。问题是我在保存文件后删除了容器。我之前使用过以下命令。 $ docker run --rm -ti --ulimit='stack=-1:-1' klee/klee 这由删除容器的“rm”组成。这就是为什么在删除容器时,目录和保存的文件被删除了。要解决此问题,我们必须创建一个容器并将您的文件保存在该容器中。不要移除容器。以下是我遵循的步骤: 1.创建一个docker容器。给你要创建的容器的名称。我的容器名称是 my_first_klee_container $ docker run -ti --name=my_first_klee_container --ulimit='stack=-1:-1' klee/klee 2.现在您可以创建一个目录并键入一个c程序并保存它。 3.使用llvm编译器编译,使用klee运行。 4.现在通过输入exit命令退出klee。 5.尝试通过以下命令重新启动您的容器: $ docker start -ai my_first_klee_container 6.键入命令$ ls。现在,您可以查看和访问您创建的文件。 希望这会帮助你。如果您还有任何疑问,请访问https://klee.github.io/docker/
【讨论】: