我需要一个静态分析工具的Linux设备驱动程序,我写的ARM为基础的董事会。我正在考虑以下几个工具:
是一种计算机软件工具,已经在Linux上使用,旨在查找Linux内核中可能存在的编码错误。
有两个活动项目,旨在提高可加载内核模块的质量。
- `Linux Driver Verification` (LDV) - a comprehensive toolset for static source code verification of Linux device drivers.
- `KEDR Framework` - an extensible framework for
当使用以下代码从析构函数抛出时,我试图“查看”对std::terminate()的调用:
#include <stdexcept>
struct boom {
~boom() {
throw std::logic_error("something went wrong");
}
};
int main() {
boom();
}
使用g++编译并运行代码:
# ./a.out
terminate called after throwing an instance of 'std::logic_error
我尝试创建一个JNI GLES3渲染器。这是我的CmakeLists.txt:
set(CMAKE_VERBOSE_MAKEFILE on)
project("librenderer")
add_definitions("-std=c++11")
# Creates and names a library, sets it as either STATIC
# or SHARED, and provides the relative paths to its source code.
# You can define multiple libraries,
我使用Gem5来获取ARM处理器的指令访问。我使用-marm选项来生成代码。
arm-linux-gnueabihf-gcc -static -marm fibcall.c
我相信使用此选项只能生成32位ARM指令。但结果如下所示:
command line: ./build/ARM/gem5.opt --debug-flags=Exec configs/example/se.py -c tests/test-progs/malardalen/a.out
Global frequency set at 1000000000000 ticks per second
**** REAL SIMU