这个错误堆栈有高手能给我解释一下怎么回事么~~~~

iiye 2009-07-16 07:54:59
Function Arg 1 Arg 2 Arg 3 Source
kernel32!RaiseException+3c e06d7363 00000001 00000003
msvcrt!CxxThrowException+36 0453e6d8 4c03c36c 0453e70c
msadce!DllUnregisterServer+1b126 80040e2f 00000000 0156e448
msadce!DllUnregisterServer+f814 0156e448 0156e448 0156e458
msadce!DllGetClassObject+55bd 00000000 00000001 0453e748
msadce!DllUnregisterServer+f8c3 0453ec90 00000000 4b43a778
msadce!DllUnregisterServer+fa2c 00000000 00000001 00000000
msado15!DllGetClassObject+1be3 0150b210 0156e448 01518b48
msado15!DllCanUnloadNow+11fa4 0156dd70 00000000 0156d208
msado15!DllGetClassObject+19fc 0156dd70 00000001 00000000
msado15!DllGetClassObject+18da 00000000 00350000 00000000
msado15!DllGetClassObject+17ad 0156d208 00000000 00350000
msado15!DllCanUnloadNow+26f20 01510a10 001cf6b4 00000000
msado15!DllCanUnloadNow+21d66 0050b210 001cf6b4 00000000
RiskControl!Connection15::Execute+56 0453ed20 01b3bac8 00000000
...全文
213 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
iiye 2009-07-21
  • 打赏
  • 举报
回复
人人都有分~~~
crushor 2009-07-17
  • 打赏
  • 举报
回复
那运行过程中怎么会卸载动态库呢?
ProgrammerNO1 2009-07-17
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 iiye 的回复:]
回答能否不要单纯的英译中阿
哦也是CET6级了
现在CSDN难道没有高手了么
[/Quote]

都是高手
Treazy 2009-07-17
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 iiye 的回复:]
回答能否不要单纯的英译中阿
哦也是CET6级了
现在CSDN难道没有高手了么
[/Quote]

说了这么清楚了,你就不能好好检查一下你的代码吗?
把出错的地方的所有信息都用LOG记录下来查咯
尤其是指针,数组等的使用

光靠猜是没用的,你又不帖出错代码,哎~~~
还不停抱怨
貌似帮你解决问题是义务的
哀哉!!!!
iiye 2009-07-17
  • 打赏
  • 举报
回复
回答能否不要单纯的英译中阿
哦也是CET6级了
现在CSDN难道没有高手了么
独孤过儿 2009-07-17
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 iiye 的回复:]
我已经在输入参数加入了长度限制,但是这个错误还是持续出现
一般情况不会引起服务异常,但是一段时间后会报buffer overflown然后服务进程停止
现在靠监控系统维持着服务,急求线索!!!谢谢!!!
[/Quote]
去查缓冲区相关的部分吧...
iiye 2009-07-17
  • 打赏
  • 举报
回复
补充一下,这个是一个service的报错信息,
其中使用了ado对数据库进行了操作,(执行存储过程)
但是只有特定的一个存储过程才会报错,而且不是每次都报,
我已经在输入参数加入了长度限制,但是这个错误还是持续出现
一般情况不会引起服务异常,但是一段时间后会报buffer overflown然后服务进程停止
现在靠监控系统维持着服务,急求线索!!!谢谢!!!
xiaopoy 2009-07-17
  • 打赏
  • 举报
回复
throw
程序中的异常处理捕捉到了东西
查查代码
bigriverhorse 2009-07-16
  • 打赏
  • 举报
回复
由于楼主贴出来的信息不全,我从名字猜一下,

最下面msado15模块DllCanUnloadNow是判断是否可以卸载对象,
然后使用DllGetClassObject得到对象,
再用另外一个msadce模块的DllUnregisterServer接口执行卸载动作。

上面的大家估计都能看出来,我多废话了两句。

我猜想是msado15模块使用了不正确的msadce对象,从而导致“解除注册”失败,
这种应该是和大多数“类析构函数”时,不正确的delete不属于自己内存类似。

个人愚见,供参考。
Treazy 2009-07-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 akirya 的回复:]
ms是 扔出异常了
[/Quote]

应该是出现异常了,如果栈的信息是完整无误的话
DllUnregisterServer是有大嫌疑的
独孤过儿 2009-07-16
  • 打赏
  • 举报
回复
来看美女~~
机智的呆呆 2009-07-16
  • 打赏
  • 举报
回复
程序运行抛出异常,激活SEH机制,SEH调用其中注册的某个回调函数进行了栈展开。
错误信息从下往上,下面的函数调用了上面的函数,
应该是DllUnregisterServer函数被调用时发生了异常,被SEH机制捕获。


以上,一家之言~~
科技完美生活 2009-07-16
  • 打赏
  • 举报
回复
坐等。。。
iiye 2009-07-16
  • 打赏
  • 举报
回复
我只想知道这个错误的顺序,可能是什么原因引起的~~~
有一点线索就可以了给分了~~~~~~~~~
GaA_Ra 2009-07-16
  • 打赏
  • 举报
回复
不是啥高手,
只是从抛出异常的顺序往前看,最近的就这个函数
DllUnregisterServer

等待达人~~
iiye 2009-07-16
  • 打赏
  • 举报
回复
下面还有别的函数,但是不太好公开贴出来,如果有高手能给意见的话,我可以单独PM给你
GaA_Ra 2009-07-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 iiye 的回复:]


大家都说5PP54,那么上PP。
[/Quote]
也不是这么说..我盯了这贴看了好久..发现这样找错误还是比较有难度的..

按堆栈顺序,是不是DllUnregisterServer这个函数出的问题哩.
  • 打赏
  • 举报
回复
ms是 扔出异常了
iiye 2009-07-16
  • 打赏
  • 举报
回复
iiye 2009-07-16
  • 打赏
  • 举报
回复
加载更多回复(1)

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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