返回信息流int load::OpenTool()
{
m_hDllLib = LoadLibrary(_T("USBtoCANBUS.dll"));
typedef char (*FPFUN)(char*);
FPFUN fpFun =(FPFUN) GetProcAddress(m_hDllLib,"GetHidDevice");
int OpenFlag = (*fpFun)(m_class_guid);
if (m_hDllLib)
{
FreeLibrary(m_hDllLib);
}
return 0;
}
运行到free这里就雪崩了~~~~求大神指点
这是一条镜像帖。来源:北邮人论坛 / cpp / #97006同步于 2017/12/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
freelibrary函数总是崩溃
hhz1
2017/12/11镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
有Dll源码的话,从DllMain中收到DLL_PROCESS_DETACH事件断点入手开始查。
【 在 hhz1 的大作中提到: 】
: int load::OpenTool()
: {
: m_hDllLib = LoadLibrary(_T("USBtoCANBUS.dll"));
: ...................
【 在 tonyjansan 的大作中提到: 】
: 有Dll源码的话,从DllMain中收到DLL_PROCESS_DETACH事件断点入手开始查。
:
没有源码~~
没源码定位问题比较困难,猜测USBtoCANBUS.dll内部有工作线程?或者是你引用了dll的某些内存在FreeLibrary前已经被意外释放。
先尝试下调用并wait一段时间后再FreeLibrary,如果依然还是crash,就检查下你对动态库的调用流程是否有问题,如果依然不明原因...你可以给提供动态库的开发者报bug了
【 在 hhz1 的大作中提到: 】
: 没有源码~~