- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
昨天我在stackoverflow上问了一个问题,但是我没有描述清楚,所以我改变一下提问方式,也许能把问题说清楚。首先,我修改了klee提供的示例get_sign.c,将unistd.h
包含在程序中,并调用函数sleep()
使线程暂停,如下
/*
* First KLEE tutorial: testing a small function
*/
#include <unistd.h>
int get_sign(int x) {
if (x == 0)
return 0;
if (x < 0)
return -1;
else
return 1;
}
int main() {
int a;
klee_make_symbolic(&a, sizeof(a), "a");
sleep(10);
return get_sign(a);
}
我使用“llvm-gcc
”编译get_sign.c,然后使用klee get_sign.o
执行objectfile,线程没有暂停,意味着sleep()
不起作用。所以我在执行get_sign.o的时候添加了一个参数,像这样klee --libc=uclibc get_sign.o
,不幸的是,线程仍然没有挂起,而且klee还报错,
KLEE: ERROR: /home/lab/work/klee-uclibc/libc/signal/sigaction.c:58: failed external call: __syscall_rt_sigaction
KLEE: NOTE: now ignoring this error at this location
我可以做什么来解决这个问题?谢谢!
最佳答案
看起来 klee 使用的信号可以使 sleep
返回得比预期更快,如 http://www.delorie.com/gnu/docs/glibc/libc_445.html 中所示。 。此引用还提供了绕过该限制的方法。
关于c++ - 为什么当klee执行Objectfile时sleep()函数不能工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22240052/
我最近在玩 KLEE。我遵循文档“Building KLEE (LLVM 3.4)”并成功运行了教程中的所有示例。 但是,当使用 KLEE 运行我自己的程序时: $ klee -load=/usr/l
我是 KLEE 的新人。 我已经安装了 klee,并正确按照说明进行操作。 如果我从教程运行程序: int get_sign(int x) { if (x == 0) return 0; if
据我所知,我不能在 C++14 中的程序上使用 klee,因为llvm-3.4不支持。 不过,我想知道有没有什么办法,trick,experimental版本等,这将允许我在 c++14 程序上使用
我是尝试使用 KLEE 的初学者。我在一个 C++ 程序上使用 KLEE 自包含包使用 pthreads。我已经生成了一个 .o 文件并使用了带有以下选项的 KLEE klee --libc=ucli
我是一名优秀的程序员,十分优秀!