python驱动为C++中嵌入python,因此不能用pycharm去调试
可以用WingIdePro7.2.1(或其他版本设置断点进行调试)
下载WinIdePro7.2.
...
1,55M大小
从ftp:从ftp://ftp.peakinfo.cn/software/python/winidepro_v7.2.zip
...
- 运行注册机/keygen,复制License id
- 运行WinIdePro,会弹出一个输入许可。选择够买许可,并将上面一步的License 运行WingIdePro,会弹出一个输入许可。选择够买许可,并将上面一步的License id粘贴过去,执行后得到一个request code,复制
- 将复制的request code输入到上面黑窗口中,按下回车
- 黑窗口会出来一个Activation Code,再复制到WingIDEPro,完成破解
...
- 打开WinIDEPro,File/Open选择写好的python驱动代码,如samplepythondrv.py
- 在每个要调试的函数,增加一行代码: import wingdbstub
- 如果要调试该文件开始,就在前面增加 import wingbstub
- OnTimer 内也需要增加 import wingbstub,并在该函数内需要的地方增加断点
- OnControl内也需要增加 import wingbstub,并在该函数内需要的地方增加断点
- InitDriver内也需要增加 import wingbstub,并在该函数内需要的地方增加断点
- InitDevice内也需要增加 import wingbstub,并在该函数内需要的地方增加断点
- 从WinIDEPro的安装目录(c:\Program Files (x86)\Wing Pro 7.2\),复制文件wingdbstub.py到驱动文件(如samplepythondrv.py)的同级目录
- 修改wingdbstub.py文件内容,找到kEmbedded = 0,改为kEmbedded = 1
- 点击WinIDE左下角状态栏的小蚂蚁图标,把Accept Debug Connections这个勾上。不需要WinIDEPro进入调试状态。,这个图标应为黄色而不是灰色。(如果图标是灰色,则检查启动时是不是报python找不到!)不需要WinIDEPro进入调试状态。
- 在驱动目录下直接双击驱动名称.exe(如samplepythondrv.exe)运行驱动。
- 有import wingbstub且有断点的函数会停下来进入调试。OnTimer则每次循环都会进入断点,见图:
- F5:继续调试到下个断点
- F6:走到下一行代码
- F7:进入函数
- F8:跳出函数
...