zoukankan      html  css  js  c++  java
  • C# 调用第三方DLL缓冲区溢出导致的异常

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

    先上异常

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

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

     

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

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

    上代码:

    方法:GetSHA256HashFromString

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

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

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

    C# 群内一大佬解惑:

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

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

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

     

  • 相关阅读:
    动态内存有那几个?
    Swift的可选的和可选链
    结构的声明
    指针的理解
    类的初始化分析要点代码
    Swift属性的理解和代码
    swift基本类型
    Swift的下标代码
    Swift枚举代码
    mysql 修改编码格式
  • 原文地址:https://www.cnblogs.com/zlyxm/p/8193823.html
Copyright © 2011-2022 走看看