0
Я хочу отладить функцию jit. как и исходный код ниже, я хочу отлаживать функцию FibF, но когда я отлаживаю ее gdb, она, похоже, не может работать в области функций. Как отладить его? заранее спасибо.Как отладить jitted functiion в llvm?
// We are about to create the "fib" function:
Function *FibF = CreateFibFunction(M.get(), Context);
// Now we going to create JIT
std::string errStr;
ExecutionEngine *EE =
EngineBuilder(M.get())
.setErrorStr(&errStr)
.setEngineKind(EngineKind::JIT)
.create();
if (!EE) {
errs() << argv[0] << ": Failed to construct ExecutionEngine: " << errStr
<< "\n";
return 1;
}
errs() << "verifying... ";
if (verifyModule(*M)) {
errs() << argv[0] << ": Error constructing function!\n";
return 1;
}
// Call the Fibonacci function with argument n:
std::vector<GenericValue> Args(1);
Args[0].IntVal = APInt(32, n);
GenericValue GV = EE->runFunction(FibF, Args);
Ссылка кажется мертвой. Также новый ORC JIT, похоже, не поддерживает отладку JIT-кода. Я верю, что информация переместилась в раздел 9: https://llvm.org/docs/tutorial/LangImpl09.html – PaulR
@PaulR действительно, это сейчас в части 9, спасибо за хедз-ап! – Oak