如题,由c++编译dll提供接口给python调用。出现错误想知道执行到了哪一步。请问各位有没有好的调试方法。通过return返回值的方法已经被使用了,其实最好的解决方案是能够在python的控制台下有输出,请问这两个之间有没有什么方法,或者其他的解决方案。
如果你是用vc++开发的dll,那么可以在dll的代码中设置好端点,然后选择调试,等待宿主进程,然后运行你的python程序。或者先运行python,然后在vs里附加进程调试。后者适合那种gui的程序,也就是python程序一开始运行不调用dll,而是你输入什么参数或者点了什么按钮才调用。
想调试c++的库要设定好执行的exe,然后在库函数内加断点就可以了,你不可能用python来调试c++,调试用的编译器还是你做出库的那个编译器,比如vs2013;
如果有dll源代码的话可以在关键位置插入debug语句输出到log文件,调试效果就和输出到python控制台差不多;
如果无法改变dll内容,又觉得是dll内部函数的问题,可以另外写一个简单的测试项目逐一对dll内的函数进行排查。