c#在vs2010调试运行和在debug中运行exe文件 结果不一样(串口通信)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#在vs2010调试运行和在debug中运行exe文件 结果不一样(串口通信)相关的知识,希望对你有一定的参考价值。

参考技术A 这种情况不应该
1、重新编译一下。
2、在看看是不是选择错了运行文件(这种可能性不大)
3、看看是不是权限的问题,是不是需要提升权限
参考技术B 在调试状态和正常运行情况下表现结果不同,一般是因为时间差导致的。简单的说,就是你代码中涉及到异步、多线程的地方,可能存在等待的关系,因为调试的断点和速度等关系导致运行的逻辑和你预想的不太一样,导致出现问题。

使用 mfc 的 EXE(调试)无法在其他 PC 上运行

【中文标题】使用 mfc 的 EXE(调试)无法在其他 PC 上运行【英文标题】:EXE (Debug) using mfc cannot run on other PC 【发布时间】:2014-03-04 00:07:13 【问题描述】:

-第0部分

我的 EXE(调试)使用用 vs2012 构建的 mfc,无法在只有 vs2013 的 PC 上运行。

错误信息:缺少 mfc100ud.dll

使用vs2013构建的mfc的EXE在我只有vs2012的电脑上运行时非常相似

错误信息:缺少 mfc120ud.dll

我认为是因为建筑设置属性中mfc的建筑模式。但我不知道如何正确解决问题。

我尝试构建项目(发布),但即使在我自己的电脑上,exe 也会立即崩溃。


-第一部分

我尝试放弃mfc,只用控制台构建核心程序。 Debug版可以成功运行,但是release版在链接dll(无论是内置debug模式还是release模式)时再次快速崩溃,出现一些乱码。


我的问题是: 如何确保 mfc EXE 或至少一个 Console EXE 在大多数装有 Windows 的电脑上顺利运行?

感谢您的帮助!

【问题讨论】:

【参考方案1】:

您需要在发布模式下构建。如果您在调试模式下构建,EXE 预计会存在某些 DLL,如果我没记错的话,这些只有在安装了与您构建应用程序的 Visual Studio 版本相同时才会存在。

【讨论】:

谢谢。但是在使用 vs 2012 以发布模式构建时,即使在我自己的 PC 上也无法运行 EXE。当我双击它时它立即中断。请问可能的原因是什么? “立即中断”是什么意思? 抱歉不准确。当我添加一个 dll(调试版或发布版)时它会中断。有一个简单地告诉程序中断的窗口,有三个选项:连接到互联网寻求解决方案、调试和关闭。 您要链接到哪些 DLL? 我自己的 dll,充当不同的 AI。事实证明,如果我为EXE和DLL都选择Release模式,并选择支持公共语言,它们运行成功。

以上是关于c#在vs2010调试运行和在debug中运行exe文件 结果不一样(串口通信)的主要内容,如果未能解决你的问题,请参考以下文章

vs2010 运行并调试程序和运行不调试的区别

C++程序在VS2010中可以运行 但是debug里面的可执行文件不能单独运行 而DEVC++则均可以 啥情况 求解答。

我经常在vs2010里调试C#网站程序,但 总报”当前不会命中断点,还没有为该文档加载任何符号。“不知道为什

麻烦问一下怎么用vs2010编译运行C#,就像eclipse那样。。。

VS2010远程调试C#应用

VS2008 C#用manifest提升程序权限后,调试时还是不行,求解