当前位置:   article > 正文

记一次C#windows上闪退系统日志报MSVCR120.dll的问题排查_c# 应用闪退日志

c# 应用闪退日志

我们C#运行在.NET Framework上,如果异常没被捕获到,在系统日志里面会有具体的报错。但是如果调用了C++编写的dll,库里面做了什么操作调用了什么我们也不可知晓,这种时候就不会有具体的提示。

首先,我们需要知道都调用了哪些库,从库到具体的调用函数一步步排查,从没出问题的版本到出问题的版本一步步对比。这针对的是极端条件下:没有函数说明、没有Demo。如果有就简单多了,有个参照对照就好。最近碰到的情况是供应商没有提供了最新的库,简单说了一下新增的函数调用的作用,但是没有Demo,出现问题后,要去对比函数的调用关系,有时候得多次调用某个函数会偶现闪退,这种可能是C++库内部索引数组超限什么的。

  1. [DllImport("z.dll", CallingConvention = CallingConvention.StdCall)]
  2. public static extern uint ClearDatas(IntPtr channel_handle);
  3. Method.ClearDatas(channel_handle_);

总之,碰到这种问题一定要把目光聚集到C++库身上。再有复杂的问题,比如闪退了,连系统日志都没有,那这个时候就要考虑环境问题了,操作系统该排查的也要排查。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/191288
推荐阅读
相关标签
  

闽ICP备14008679号