我有一个与一些 C++ 代码交互的 python 程序。我使用
ctypes.CDLL(path_to_compiled_c_code).function_name
从 python 加载 C++ 函数。在某些时候,我的 Python 程序会停止执行,并显示消息 Floating point exception (code dumped)
。我知道这个异常来自 C++,但它并没有说明该行,并且不能选择深入研究它。如果我可以从我的 Python 代码中捕获该异常,那就太好了,但是当发生此错误时,执行将停止,而不会出现任何我可以捕获的异常,或者至少我在标准输出中没有任何有关该异常的信息,只有这一行.
我怎样才能从Python代码中捕获这个?
我也遇到了同样的问题,在C/C++代码中进行调试。 @CristiFati 说得对,这似乎被零除。
我所做的调试:监视并打印任何作为除数的变量,以在除法之前检查值。
...
if( b == 0){
printf("a: %.3f, b %.3f", a, b);
exit(1);
} else {
x = a / b; //<- monitor b value
}