DEBUG_WITH_TYPE("opt", errs() << "bcf: Incorrect value," << " probability rate set to default value: " << defaultObfRate <<" \n"); ObfProbRate = defaultObfRate; } if(ObfTimes <= 0){ DEBUG_WITH_TYPE("opt", errs()
DEBUG_WITH_TYPE("foo", errs() << "'foo' debug type\n"); DEBUG_WITH_TYPE("bar", errs() << "'bar' debug type\n")); DEBUG_WITH_TYPE("", errs() << "No debug type (2)\n"); 在clang调试时使能LLVM的DEBUG()宏 命令行选项为: -mllvm -debug -mllvm -debug-only=<DEBUG_TYPE>...
DEBUG_WITH_TYPE("gen",errs() << "bcf: Terminator instruction in first basic block: ok\n"); // The altered block loop back on the original one. BranchInst::Create(originalBB, alteredBB); DEBUG_WITH_TYPE("gen", errs() << "bcf: Terminator instruction in altered block: ok\n"); 1....
LLVM代码中使用LLVM_DEBUG()宏(defined in include/llvm/Support/Debug.h)控制打印信息, 该宏调用DEBUG_WITH_TYPE()宏, 后者根据NDEBUG是否定义决定是否执行括号内的内容. 1#ifndef NDEBUG2#defineDEBUG_WITH_TYPE(TYPE, X) \3do{if(::llvm::DebugFlag &&::llvm::isCurrentDebugType(TYPE)) { X; } \4}...
// 又一次检查ObfProbRate和ObfTimes参数if(ObfProbRate<0||ObfProbRate>100){DEBUG_WITH_TYPE("opt",errs()<<"bcf: Incorrect value,"<<" probability rate set to default value: "<<defaultObfRate<<"\n");ObfProbRate=defaultObfRate;}DEBUG_WITH_TYPE("opt",errs()<<"bcf: How many times: "...
可能的值包括:DEBUG:带调试符号的构建RELEASE:为速度优化的构建RELWITHDEBINFO:带调试符号的发布构建MINSIZEREL:为大小优化的构建。默认构建类型取自CMAKE_BUILD_TYPE环境变量。如果此变量未设置,则默认值取决于所用的工具链,通常为空。为了生成发布构建的构建文件,您可以指定-DCMAKE_BUILD_TYPE=RELEASE。 CMAKE_C_...
- void *FPtr = TheExecutionEngine->getPointerToFunction(FnIR); - - // Cast it to the right type (takes no arguments, returns a double) so we - // can call it as a native function. - double (*FP)() = (double (*)())(intptr_t)FPtr; - // Ignore the return value for this...
:: Build debug version :: cmake -S ./ -B ./build -DCMAKE_BUILD_TYPE=Debug -DLLVM_ENABLE_ASSERTIONS=ON :: Build project cmake --build ./build -j 4 pause 3、运行自己的Hello-World通行证 编译好LLVM的Pass插件之后,我们就可以使用这个插件了,下面...
cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=<debug_llvm_install_dir> -DLLVM_ENABLE_PROJECTS=clang;lld;clang-tools-extra -DLLVM_ENABLE_TERMINFO=OFF -DLLVM_TARGETS_TO_BUILD=X86;ARM;NVPTX;AArch64;Mips;Hexagon -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_ENABLE_EH=ON -DLLVM_...
展开内部和外部结构的数组 Other Output Formats: --elf ELF ELF格式--text Text Information 文本信息 Flags for Text Information 文本信息的标志 -v verbose 详细信息 -a print data addresses (For images built with debug) 打印数据的地址信息 (得到的.axf映像文件) -c disassemble code 汇编码 -d print ...