我有一个Rust程序,它在没有任何日志原因的情况下静默退出。多次成功调用同一方法后,就会发生这种情况。我看到的最后一条日志是进行FFI调用之后的日志。 FFI通话返回后,我没有收到日志。
use cpython;
use cpython::ObjectProtocol;
use cpython::PyResult;
fn is_complete(&self, check: bool) -> Result<bool, PyModuleError> {
let gil = cpython::Python::acquire_gil();
let py = gil.python();
debug!("Calling complete"); //This is the last log
let res = self
.py_complete
.call_method(py, "complete", (check,), None)
.expect("No method complete on python module")
.extract::<bool>(py).unwrap();
if res {
debug!("Returning true"); //This does not appear
Ok(true)
}
else {
debug!("Returning false"); //This does not appear
Ok(false)
}
}
Python模块确实返回一个值,因为我在那里也有调试日志以确认。
我尝试使用RUST_BACKTRACE=1
,但徒劳。