码迷,mamicode.com
首页 > Windows程序 > 详细

C# 调用第三方DLL缓冲区溢出导致的异常

时间:2018-01-04 18:09:28      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:遇到   nbsp   错误   oms   对象   post   地址   str   托管   

 

这个倒是少见的错误,纪录一下大佬。

先上异常

错误一:尝试读取或写入受保护的内存

技术分享图片

 错误二:未将对象引用设置到对象的实例

 技术分享图片

错误三:  托管调试助手“FatalExecutionEngineError”(未能截图,网上找的,除了地址都是一样)

技术分享图片

 

在此期间因为排查各种错误,代码删减所以报错才会异常不一样。

上代码:

技术分享图片

方法:GetSHA256HashFromString

技术分享图片

 

中间找错就不说了,代码瞎删,环境测试,实例更换

最后发现调用第三方DLL读字节是512,结果给的字节是64字节。

知道了哪里导致的错误,但是想不明白为什么调用第三方DLL给出的参数是错误的,但是不报错,运行到.NET自带的函数就报错

C# 群内一大佬解惑:

技术分享图片

 对,还有N多页就不截图出来了。

有些错误还是预料不到的,毕竟做C#没学过底层调用C语言的DLL报错时还是会找不着北,总的来说遇到错误还是要静下心来慢慢找问题。

 

 另外安利一下C# 群号码:199938225(每个学习群扯淡的多,你懂得,这不正经的群名就是证据...)

 技术分享图片

 

C# 调用第三方DLL缓冲区溢出导致的异常

标签:遇到   nbsp   错误   oms   对象   post   地址   str   托管   

原文地址:https://www.cnblogs.com/zlyxm/p/8193823.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!