dll 调用的错误,高手指点``````````````````````````````````````````````

lq 2005-07-12 04:48:19
我自己做了一个dll库给别人用,但调用的时候经常弹出个错误对话框,

"0x00fc30ca指令引用的0x00fc30ca内存,该内存不能为read"

这是怎么回事啊?

我自己的代码检查了好多遍了,好象不是自己代码的原因。调用方的代码是很经典的代码,出错的概率也很小,请高手分析可能出错的原因。
多谢!
...全文
222 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
qrlvls 2005-07-16
  • 打赏
  • 举报
回复
也许是你的动态库的调用约定不符合造成的
peter_zjt 2005-07-16
  • 打赏
  • 举报
回复
用softice 试试
kugou123 2005-07-16
  • 打赏
  • 举报
回复
看看你的导出函数是怎么声明的,你显式加载的时候,声明函数指针,也要同样声明才可以。
eliner 2005-07-16
  • 打赏
  • 举报
回复
1、dll内部是否使用了传入指针,是否检查了这种指针的合法性?
2、导出的函数方式是什么?C or C++?
xing_xing_xing 2005-07-16
  • 打赏
  • 举报
回复
自己调用,测试一下
chcky 2005-07-15
  • 打赏
  • 举报
回复
是实参和形参对应不上,我也遇过这样的问题。
joinrry 2005-07-12
  • 打赏
  • 举报
回复
可能是参数的问题,
如类型,
qrlvls 2005-07-12
  • 打赏
  • 举报
回复
先用 depends 看看导出函数符号是不是标准的函数名称
调用端是什么工具?
kugou123 2005-07-12
  • 打赏
  • 举报
回复
看看是不是你的DLL的问题,多注意指针
zxyjyzxyjy 2005-07-12
  • 打赏
  • 举报
回复
同意caucyniu(caucy)说的。
同时不能为读还有可能是指针没初始化就去操作。
caucyniu 2005-07-12
  • 打赏
  • 举报
回复
不兼容 ,我也出现过这样的问题,不是标准调用
bobob 2005-07-12
  • 打赏
  • 举报
回复
如果参数没有问题,那有很大可能是你的dll里面出问题了
如果进不去dll,可以强制下短点
_asm{
int 3
}
lq 2005-07-12
  • 打赏
  • 举报
回复
楼上说的是一个办法,我也这么做了。但是调试根本就进不去我的动态库,好象是在进入我的库之前就出错了。
“unhandled exception ”错误
Zhymax 2005-07-12
  • 打赏
  • 举报
回复
有exe就可以调试你得dll了,project->setting->debug->executable for debug session->设置为该exe,然后单步调试看看
lq 2005-07-12
  • 打赏
  • 举报
回复
关键是调用方只给了一个exe,没有源码,他是通过配置文件来调用我的动态库。
现在无法定位错误的位置,头痛:《
如果是我的动态库的问题,那会是什么方面的错误呢

楼上
”结合.map文件,反向查看源代码“
查谁的代码啊?
我很菜,多多指教啊

DentistryDoctor 2005-07-12
  • 打赏
  • 举报
回复
结合.map文件,反向查看源代码。
快乐鹦鹉 2005-07-12
  • 打赏
  • 举报
回复
还是你动态库的原因。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧