R6034 - 运行时冲突备忘录

      RFID隧道监控软件,自定义插件框架,QT做界面,嵌入Python用于二次开发接口(隔离与北京蛙式视频等外设通讯),在系统启动时出现"microsoft 运行时错误R6034,可能是堆栈破坏..."信息,于是一边咒诅microsoft,一边跟踪各个插件,最后终于发现:

    1、自定义XUL插件加载QT时,QT加载"WinSxs\....\msvcr90.dll";

    2、加载python解释器(python3.2)时导入uuid模块,在uuid.py第425行处,当libname = ‘c'时, ctypes.CDLL(ctypes.util.find_library(libname))引起R6034异常;

    3、在ctypes/util.py中定位find_library函数,发现当libname='c'或者'm'时直接加载msvcrt*.dll,即加载msvcr90.dll,由于在当前应用程序目录下拷贝了一份"msvcr90.dll",于是系统又载入了一份新的"msvcr90.dll",在同一进程中载入了两份msvcr90.dll",于是出现"R6034"错误;

     解决办法: 移除当前应用程序目录下的"msvcr90.dll"即可。

你可能感兴趣的:(R6034 - 运行时冲突备忘录)