zoukankan      html  css  js  c++  java
  • VS调试再次遭遇“应用程序处于中断模式”问题

    最近重构某项目过程中发现的,有同事反馈调试不正常,很久以前也发生过,虽然搜索了一下找到解决方案,但个人觉得还是有必要再记录一下。

    调试某CS结构的应用程序,大致效果可以看下图:

     

    我们组最终解决方案是:将编译的目标平台设置为X64而不是AnyCPU或者X86

    这个问题,我在前厂开发过一个OCR(光学字符识别)客户端工具,记得非常清楚,因为当时折腾了很久才找到解决方案。

    开发这个工具的过程中,碰到的问题是,无法LoadLibrary,因为我调用的自动识别库是第三方发布出来的,要调用这个三方库(要配合DllImport),我原来以为直接COM组件引用就可以了。

    但是实际开发的时候,发现GetLastError返回的code为193,MSDN的解释是:%1 is not a valid Win32 application.

    调试的时候,和上面提到的“应用程序中断模式“一样效果。

    反复调试实验后,最终解决方案是:将编译的目标平台设置为X86而不是AnyCPU或者X64

    我想要知道调试发生中断的原因,想起我们组最近引用了架构部编译生成的一个库,目标平台是X64,而那个OCR自动识别库,大胆推断目标平台可能是X86。

    下面就是本文得出的最终结论:

    如果你的应用引用了二方库或者三方库,一定要注意dll生成的目标平台,否则调试时就可能会报“应用程序中断模式”错误。

  • 相关阅读:
    Log4j,Log4j2,logback,slf4j日志学习(转)
    MultipartFile类
    @Transactional(转)
    redis序列化和反序列化
    redis常见问题(转)
    为什么说Redis是单线程的以及Redis为什么这么快!(转)
    Numpy 用法小结
    正则表达式使用小结
    Hive 窗口函数、分析函数
    Hive UDF开发实例学习
  • 原文地址:https://www.cnblogs.com/jeffwongishandsome/p/How-To-Solve-App-Break-Mode-Problem.html
Copyright © 2011-2022 走看看