当前位置: 首页 > news >正文

吴江区网站建设wordpress手机上用的

吴江区网站建设,wordpress手机上用的,友情链接2598,wordpress加搜索框最近遇到个比较经典的案例#xff0c;在c#中调用yara进行文件检测#xff0c;yara是c编写的一个非常强大库#xff0c;github有个大佬用c#对其进行了封装#xff0c;使其能在跨平台下#xff0c;只需编译yara的so或dll就能直接跑。但总是在Release版本下时不时就崩溃…最近遇到个比较经典的案例在c#中调用yara进行文件检测yara是c编写的一个非常强大库github有个大佬用c#对其进行了封装使其能在跨平台下只需编译yara的so或dll就能直接跑。但总是在Release版本下时不时就崩溃而且崩的位置非常奇怪在Debug版本下不会崩分析了好久终于找到了原因 https://github.com/airbus-cert/dnYara 然后它提供了官方demo看起来是没有问题的但实际隐藏了个非常难排查的bug。 根据yara的调用说明需要做全局初始化而dnyara把初始化封装在了YaraContext中并实现了Idisposable。可以看到在它的demo中对ctx没有任何的引用成为了一个悬置的变量。在下面Compile或者ScanFile的时候就总是报内存访问异常。 起初还以为是yara c代码上的问题但看了下它源码发现这一段调用没有明显的逻辑或者内存上的错误那么就往.net上排查。突然想到有个GC线程然后猜测是gc线程在函数内部对ctx进行了回收在Release下回收的机制可能更快速因为yara的规则编译和扫描都是比较耗时的。顺便在chatgpt上进行了些求证 证明我的猜测基本是对的GC的行为受编译器优化而未引用变量会被编译器标记导致gc在函数体内部进行回收。 这个地方显然是dnyara封装的锅正确的封装方式为不实现Idispose写一个Release函数让别个在外面手动调用。这样既保证了释放处对ctx有引用不会被gc回收又在没有引用的情况下被回收也不会造成c库的内存错误。如果不改dnyara源码随意增加一处对ctx的强引用就可以避免这个问题了
http://www.dnsts.com.cn/news/174577.html

相关文章:

  • 抚州市住房和城乡建设局网站山东机关建设网站道德模范
  • 网站 备案 换空间网站快速建设入门教程
  • 淮安市汽车网站建设背景大型网站技术架构核心原理与案例分析
  • 网站正在建设中 英语翻译长沙模板网站建设
  • 山东省网站备案织梦网站产品
  • 搜狐员工做网站的工资多少钱网站建设登录页面怎么写
  • 建设城市2的游戏在哪个网站金华东阳网站建设
  • 有没关于做动画设计师的网站珠海网站建站
  • 手机网站运营班服定制网站
  • dw做的网站能直接使用吗中国flash网站模板中心
  • 网站源代码下载软件服务营销包括哪些内容
  • 如何网站专题制作直播app下载汅api免费下载
  • 成都知名网站建设公司wordpress 初始化sql
  • 建设网站公司哪家好原型图怎么做网站交互
  • 镜像的网站怎么做排名江苏建设考试培训网
  • 电商网站开发方案知名公司网址
  • 网站改版 需求文档响应式网站是
  • 城市网站建设摘要论文淘宝联盟网上的网站建设
  • 做网站用到哪些软件店铺装修公司
  • pc网站直接转换成移动端的网站在线学习建设网站
  • 网站开发是什么专业百度南京网上注册公司流程
  • 建站教学视频wordpress 付费主题 高级功能编辑器
  • 网站开发实训指导书电子商务网站建设方面的论文
  • 海口企业模板建站wordpress模板中文
  • 北京网站开发需要多少钱又名林州站长网
  • 冠县品牌网站建设推广商城网站wordpress
  • 怎么根据网站前端做网站后台兴县做网站
  • 园区网互联及网站建设项目如何区分网站开发语言
  • 南宁网站建设q479185700惠官方网站侵权
  • 建设网站框架网站开发用哪种语言