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生成的目标平台,否则调试时就可能会报“应用程序中断模式”错误。
VS调试再次遭遇“应用程序中断模式”问题,附解决方法的更多相关文章
- 《对“XXX::Invoke”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们》的问题的解决方法
<对“XXX::Invoke”类型的已垃圾回收委托进行了回调.这可能会导致应用程序崩溃.损坏和数据丢失.向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们& ...
- vue-router(hash模式)常见问题以及解决方法
问题一:// 动态路由/detail/:id 问题:动态路由跳转的时候,页面是不刷新的,相信很多人都遇到了相同的问题解决方法:在全局的router-view组件上设置一个key值,此key值为一个时间 ...
- MDK下调试时提示AXF文件无法导入的解决方法(转)
源:http://blog.163.com/zhaojun_xf/blog/static/3005058020117784643555/ 在开发ARM项目中,很多工程师都不太喜欢使用MDK的调试模式, ...
- 用Eclipse+xdebug调试PHP总是在首行自动断点解决方法
问题描述: 使用Eclipse+PDT+xdebug调试PHP程序时,总是在程序的第一行(首行)自动断点,不方便调试. 解决方法: 分别在下面3个位置配置,取消 Break at First Line ...
- RedHat Linux文本模式下乱码解决方法
如果在安装RedHat Linux时选择中文未缺省语言,在文本模式下会出现乱码情况,对于在CLI(command-line interface,命令行界面)方式下调试程序时诸多不便,因为出错信息全是乱 ...
- UE4 VR 模式画面扭曲 解决方法
后期处理盒子 详细设置->setting->Misc->screen percentage 设置为100
- Visual Studio 2013附加进程调试IE加载的ActiveX Control无效解决方法
默认Attach to选择了Automatically determine the type of code to debug,显示Native Code.但附加进程到iexplore.exe断点无法 ...
- 【故障公告】再次遭遇SQL语句执行超时引发网站首页访问故障
非常抱歉,昨天 18:40~19:10 再次遭遇上次遇到的 SQL 语句执行超时引发的网站首页访问故障,由此您带来麻烦,请您谅解. 上次故障详见故障公告,上次排查下来以为是 SQL Server 参数 ...
- vs.net调试ArcGIS Engine代码查看变量时,提示“要检查本机对象,请启用本机代码调试。” 的解决方法
用vs2017 调试 查看ArcGIS Engine 的变量时 会提示如下图所示的错误: 解决方法: 工具->选项->调试->常规->使用托管的兼容模式 如下图所示: 2.设置 ...
随机推荐
- 四级地址插件升级改造(京东商城地址选择插件)city-picker
最近公司做的项目要和京东的数据做对接,所以要做个类似京东商品的详情页.页面的数据,是可以从京东接口获取到的,但是地址插件选择的效果需要自己实现.前端的同事在之前的项目中,已经选择了一款地址插件(cit ...
- 借助TZImagePickerController三方库理解自定义相册
借助TZImagePickerController三方库理解自定义相册 1.整体架构分析 整体框架大致可以分为几个部分 <1>工具类-TZImageManager:这个类主要是工作是提供一 ...
- C#访问修饰符(public,private,protected,internal,sealed,abstract)
为了控件C#中的对象的访问权限,定义对象时可以在前面添加修饰符. 修饰符有五种:private(私有的),protected(受保护的),internal(程序集内部的),public(公开的),以及 ...
- 【前端】Vue和Vux开发WebApp日志二、优化gulp任务
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_2.html 项目github地址:https://github.com/shamoyuu/vue- ...
- OkHttp拆解之调用流程图
- Action调用Service
Java Web项目,写到Action的时候,往往会要引入Service,这个是一个常见的操作. 但是,我自认为引入Service需要给它get和set方法,并且这个习惯已经沿用到现在.然而,自从参与 ...
- R语言︱ROC曲线——分类器的性能表现评价
笔者寄语:分类器算法最后都会有一个预测精度,而预测精度都会写一个混淆矩阵,所有的训练数据都会落入这个矩阵中,而对角线上的数字代表了预测正确的数目,即True Positive+True Nagetiv ...
- linux下驱动模块化编译,动态加载以及卸载
步骤:: 1.编写first_driver_hello.c文件,将其放在/linux2.6.32/drivers/char路径下: 2.在/linux2.6.32/drivers/cha/Kconfi ...
- AM335x(TQ335x)学习笔记——LCD驱动移植
TI的LCD控制器驱动是非常完善的,共通的地方已经由驱动封装好了,与按键一样,我们可以通过DTS配置完成LCD的显示.下面,我们来讨论下使用DTS方式配置内核完成LCD驱动的思路. (1)初步分析 由 ...
- activemq的案例