VS2008 MFC DEBUG 编译通过,F5运行,界面出不来是什么原因

调试的时候好像是DLL加载卡住了,WINMAIN入口断点都进去不了。
请教大佬,这种问题如何解决

0

5个回答

利用windbg启动程序,看看哪里停住了。

1
dreaminglc
ALOHA_LC 回复sty_app: 赞
11 个月之前 回复
sty_app
sty_app 问题已解决 在dllmain中执行了调用其他dll的操作,导致dll加载死锁 推荐贴https://blog.csdn.net/cjf_iceking/article/details/40043569
11 个月之前 回复
sty_app
sty_app Break-in sent, waiting 30 seconds... WARNING: Break-in timed out, suspending. This is usually caused by another thread holding the loader lock
11 个月之前 回复
sty_app
sty_app (2be8.15fc): Break instruction exception - code 80000003 (first chance) *** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\WINDOWS\SYSTEM32\ntdll.dll - ntdll!DbgBreakPoint: 00007fff`27c43c50 cc int 3
11 个月之前 回复
sty_app
sty_app windbg吗我,我看看
11 个月之前 回复

由报错信息推断,存在另一个线程长时间占用了界面初始化的变量并被加锁,导致主界面无法调用该资源而超时

1

dll是不是自己编的,是否卡在dllmain处

1
sty_app
sty_app dll加载死锁
11 个月之前 回复

需要看你的代码才知道,特别检查下类似OnInitDialog之类初始化的地方,有没有死循环。(比如cpu占用高)
或者不慎将主窗体的创建风格的 ws_visible 去掉了,或者加载对话框的代码去掉了。或者有什么代码出错,导致程序非正常退出(比如程序进程直接退出了)

0
sty_app
sty_app WINMAIN入口断点都进去不了, OnInitDialog就更别提了,问题很隐晦,错误信息从VS上根本看不出来, WINDBG可以
11 个月之前 回复

这个得看看报错,你方便把程序发个平台上,下载了看看呗

-1
sty_app
sty_app 没有报任何错误,就是加载动态库,然后就不动了
11 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
MFC编译链接正确 但运行不出界面
debug之后,新添加成员变量,这时候最好把Debug文件删除,一般再编译就好了
Vs2008调试慢的问题
使用vs2008调试c#的web程序,发现打开浏览器非常慢,关闭浏览器也很慢,只见硬盘灯不停的闪,不知道在干什么,05和10这样的版本都没发现这样的问题。 百度一下,基本了解了: 应该是vs2008调试的时候,会访问网络,将本地的文件和网络的文件进行对照,一个一个的加载,所以非常慢,解决方法有三个: (1)断掉网络; (2)加载的时候,一个文件也不加载;           在C:\Pr
解决VS2008 调试启动特别慢
 Resolving Very Slow Symbol Loading with VS 2008 during debugging Recently, I was encountering insanely slow project loading times during debugging in Visual Studio 2008. Interestingly, this only
如何把VS2008上编的debug在没装VS的机器上运行
如何把VS2008上编的debug、release程序在没装VS的xp机器上运行 点击打开链接 【vs2008sp1运行库】VS2008编译的程序在某些机器上运行提示“由于应用程序配置不正确,应用程序未能启动”的问题 点击打开链接
vs2008 静态编译 动态编译(release debug)
前几天申请到微软学生中心账号,并成功通过验证, 下载了传说中的“正版”VS2008专业版,并申请了正版KEY! 结果安装后,才发现还是90天试用版,申请到的正版KEY也无效!! 没办法,费了好大劲安装,占了好几G的空间,还是用吧。 到网上找了个KEY,没想到反而成功升级到正式版,后又安装了SP1。 一直是用VC6.0,突然升级到高版本,很多不适应,慢慢摸索了。 开始写了个HelloVS
VS2008_Debug_运行库_WIN10_WIN8部署
VS2008开发的程序,在WIN10 或WIN8系统上运行无法启动,只需要按照本运行库即可
VS2008的Debug编译的程序ok,但是release编译的一打开就闪退?问题得到解决。
1.VS2008 + QT 在Debug模式下编译后没有问题,解决了release版本下闪退的问题。原因是我的目标程序SmartFactory.exe依赖库依赖了QT的debug版本的库,结尾以d4结束的动态库,通过dependency查看得知, 在链接-输入项中把debug版本的库去掉就可以了。 2.不过独立打不开几率很大,但在VS2008中打开又是ok的,后来在师兄的帮助下通过注释掉部分代码定...
VS2008能编译却不能运行的情况,不能“调试”的解决方法
vs2008,打开后编译,不能调试,报错: The Visual Studio Debugger ({C9DD4A57-47FB-11D2-83E7-00C04F9902C1}) did not load because of previous errors. For assistance, contact the package vendor.
MFC 编译Debug正确, 但Release退出崩溃
1、问题描述      如题,使用VS编译生成的exe,在debug正确,但release崩溃了。 2、解决方案        检查【变量初始化】
VS2008 按F5调试运行报无法启动程序错误解决方案
VS2008 按F5调试运行IE报Microsoft Visual Studio无法启动程序“http://localhost:7887/Login.aspx”错误。直接右键“在浏览器中查看”正常,就是不能调试,一调试就抱错。本文为此错误提供了解决方法!
VS2008中MFC的单独exe运行出错,但是从VS环境下打开运行没问题
<br />遇到一奇怪问题:做了一个基于对话框的MFC程序,当在VS环境下编译运行时一点问题没有,但是当在debug或者release目录下单独执行可执行.exe文件时出现runtime error错误。折腾了好久。该程序也没有依赖什么特殊的库。<br />偶然发现把debug和release目录删除后,再重新编译程序,再次在debug或者release目录下执行.exe文件时,正常运行,不再出现runtime error。但是仍不知道问题出在哪里,莫名奇妙。
关于Visual Studio按F5调试时启动非常慢的解决办法
当VS按F5调试时启动非常慢或者停止调试时关闭非常慢的解决办法: 1.在桌面左下角开始菜单中找到Visual Studio,然后在Visual Studio目录下找到 Visual Studio Tools 2.在Visual Studio Tools中点击Visual Studio命令提示(2010),并在里面输入devenv.exe /resetuserdata并执行就可以了 ...
vs2008 CRT运行库,MFC运行库(Debug、Release)
整理了CRT运行库、MFC运行库, 有DEBUG、RELEASE两个版本。 可解决未安装VS2008开发环境或VS2008的运行库,启动VS2008编译的程序出错问题。
Debug 运行正常,Release版本不能正常运行的相关详解
引言      如果在您的开发过程中遇到了常见的错误,或许您的Release版本不能正常运行而Debug版本运行无误,那么我推荐您阅读本文:因为并非如您想象的那样,Release版本可以保证您的应用程序可以象Debug版本一样运行。 如果您在开发阶段完成之后或者在开发进行一段时间之内从来没有进行过Release版本测试,然而当您测试的时候却发现问题,那么请看我们的调试规则1: 规则1: 经常性
VS2015 debug编译成功 release出错一堆
下载了fastcopy313rc的源码玩 看了readme 是VS2015build的 我正好也装了VS2015 编译一把 几百个低级错误 我整个人都不好了 什么TRUE BOOL 括号 等各种不认识 还有.h文件找不到几个小时候换到debug随手点了一下build solution 居然成功了 搜索了下有帖子说更改path 我就对比project/properties中release和d
[转](转载)vs2008debug版找不到mfc90d.dll
 [转](转载)vs2008debug版找不到mfc90d.dll 2011-4-26阅读495 评论0 vs2008已经打过sp1补丁,编译C++程序会提示找不到mfc90.dll文件的错误,但是如果是release版的话就能正常运行 csdn看到解决方案,粘贴如下,以备记录。 http://topic.csdn.net/u/20081102/15/1aa351d0-4a6
解决WIN7-64,VS2008编译的MFC程序在WIN7-32/XP上不能运行的问题
将附件中的文件,存放到 C:\Windows\System32\ 目录下,如果有该文件不进行覆盖,一般没有安装VS软件的一般不会有该文件。 在运行中输入命令  regsvr32 C:\Windows\System32\mscomm32.ocx 点击确定 提示注册成功 程序即可运行起来!!! 重启电脑(如果运行不了,进行
VS中F5的exe可以运行,但双击exe却不可以运行的调试方法
奇怪的事情 近来在使用VS进行开发的时候,发现F5启动生成的exe可以很好的运行,但是在Debug和Release文件夹下的exe通过双击的方式打开却是不能够运行的。 可能的原因: (1)大部分的原因在于F5启动生成的exe的目录与双击打开的exe的目录不一致,而程序中存在一些相对路径的文件交互,所以不能运行; (2)如果排除了原因(1)后,依然不能运行,可
解决vs2008非MFC工程依赖msvcr90.dll的问题
采用mfc做的窗口工程严重依赖mfc的运行库,而mfc的运行库是有不同版本依赖的,所以想着做一个win32 sdk的窗口工程,在vs2008里面建立一个空的win32控制台工程,结果编译后发现竟然依赖 msvcr90.dll,这就有点纳闷了,无论怎么修改工程配置,这个依赖始终存在。 后来发现这可能是一个bug,我在工程设置里面 project defaults里面有一个“Use of MFC
直接用编译器按ctrl+F5运行和Release、Debug下双击运行结果不一样
是因为进程权限的问题,需要添加下面的代码:BOOL EnableDebugPrivilege() { HANDLE hToken; BOOL fOk=FALSE; if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken)) { TOKEN_PRIVILEGES tp; tp.PrivilegeCount=1; i
vs2008 x64平台运行程序不成功
今天敲代码突然碰到一个问题,x64平台编译通过,但是运行不成功。试了一下 HelloWorld 程序依然不行,但是release下可以运行。错误提示如下: 这是什么鬼?!好吧,度娘,I'm comming !虽然总是吐槽它,但是在目前的局域网下,也扔不了它。墨迹墨迹墨迹。。墨迹够了,找到出错地方,原来在新建x64平台的时候,不能复制win32。也就是图中的地方不能打勾!编译,运行,通过。。ove
vc socket在debug模式下可以正常通讯,在release模式下经常通讯失败
问题描述:前一段时间写了一个基于socket的网络程序(B/S模式,应答通讯),使用的是MFC的异步socket类(CAsyncSocket),debug模式下可以正常通讯,打包发布后发现通讯总是失败,在网上查到的资料是debug模式和release模式,只有在编译诊断,和编译效率上有区别。后来借助网络调试助手查看传输数据并调试程序,逐渐缩小了问题范围: m_pMySocket->Connect
点击F5,VS无法自动编译
点击F5,VS无法自动编译,即它会直接运行原有已经编译好的工程,除非手工在项目上右击选择“重新生成” 解决办法: 工具→选项→项目和解决方案→生成并运行:运行时,当项目过期时选择“始终生成”
VS2008打开解决方案后自动关闭
VS2008打开解决方案后自动关闭 在其他地方拷贝来的项目,VS2008打开解决方案后居然自动关闭!原因竟然是VS使用微软雅黑字体!真是郁闷!后来只得重置了VS的设置,方法:在开始->运行中输入命令 Cmd代码 devenv.exe /resetuserdata     /resetuserdata 参数 如果 Visual Studio 在运行时被损坏,且无法从损坏
MFC程序Debug下无法运行,Release下可以运行
其实。。。。。。。。。。。。。只要把debug文件夹删除重新编译就可以了,具体
vs2008编译console程序,运行时不显示console画面
有的console程序运行时,不想用户看到console界面,可以设置编译选项来达到目的, 以下前2步是从网上查到的,要注意第3步,不然后也编译不过 1、链接器\系统\子系统:Windows (/SUBSYSTEM:WINDOWS) 2、链接器\高级\入口点:mainCRTStartup 3、程序中的入口函数不能是这样:int _tmain(int argc, _TCHAR* argv[]
VS2008调试单步非常卡解决方法
原因:开启了“在源中显示线程” 解决方法:取消“在源中显示线程” 操作步骤:在调试工具栏中找到,“在源中显示线程”,点击取消。该图标为浅蓝色时,表示开启。 原帖见:http://bbs.csdn.net/topics/390951430
超简单VS2008如何编译Opencascade的samples
有网友在成功编译Opencascade后,在编译调试Opencascade的一些例子时会出现一些问题,本文在此略做整理,以飨读者。 一、基本配置 Win32 + VS2008 + Opencascade6.7.1 Opencascade的编译,可借鉴博文:VS2008如何编译Opencascade 二、批编译设置 同样,关于Opencasca...
vc++6.0装完后,编译正确,但是点击!无法运行,调试也没反应
请问vc++6.0装完后,编译正确,但是点击!无法运行,调试也没反应,打开在Debug和Realese下的.exe都存在且可以运行是怎么会事,请高手帮忙!简单的控制台和mfc程序都是这样
vs2010 F5运行,不自动编译
最近开发的时候,遇到一个问题,在vs2010中,按F5运行程序,但是所做的改动没有变化,是上一次编译的结果。重新编译一次之后,再按F5就正常了。如此反复,经过摸索,找到了解决办法: 在VS2010 工具—>选项—>项目和解决方案—>生成并运行—>找到“运行时,当项目过期时(O):”—>选择始终生成。—>确定。 至此,问题解决。
Debug Assertion Failed 对于MFC对话框程序的 一种错误原因
1. 调试时,点重试无法进入断点; 2. 后来发现,我把对话框中的连个编辑框去掉了,而他们对应的变量没有去掉,     另外,DoDataExchange() 绑定函数中相应的程序也没有去掉; 3. 将所有跟这个变量相关的程序全部注释掉后,程序就可以正常运行了。...
编译vs2008的samples程序总是跳过
编译vs2008的samples程序总是跳过,要配置属性还显示“未能完成操作 未指定的错误”的解决办法 . 作者: admin 分类: 开发问题 发布时间: 2013-03-12 09:22 ė974 浏览数 6没有评论 文章转自王牌软件----兼职软件设计,软件修改,毕业设计 收入主要用于网站建设,欢迎赞助 今天想参考一下vs2008的示例程序,就是在这里 “E:/P
vs2008最简单的MFC对话框程序
vs2008新建一个空的win32项目,工程设置使用MFC静态库 新建stdafx.h键入如下代码(这里我是从vs2008新建的mfc中拷贝过来的) // stdafx.h : 标准系统包含文件的包含文件, // 或是经常使用但不常更改的 // 特定于项目的包含文件 #pragma once #ifndef _SECURE_ATL #define _SECURE_ATL 1 #endif
关于vs运行后窗口闪退问题部分解决方案
最近不知道vs哪里出现了问题,每次写好代码,编译运行代码之后,窗口总是闪退,然而又不想重装,太麻烦,所有在网上找了一些解决方案整理出来,希望可以帮助到有同样问题的人。下面是我整理的部分解决方案,欢迎补充: (以下面代码为例) #include using namespace std; int main() { cout << "hello world" << endl; return 0;
vs2008最简单的MFC窗口程序
vs2008新建一个空的win32项目,工程属性设置使用mfc静态库 1.h #ifndef MFCTEST_HEAD #define MFCTEST_HEAD #pragma once #include #include #define IDC_START 1012 //按钮定义 class CMyApp:public CWinApp { public:
Eclipse调试中F5F6F7F8作用
F5:跳入方法 F6:向下逐行调试 F7:跳出方法 F8:直接跳转到下一个断点
vim调试python通过F5快捷调试配置
1、安装vundleVundle 是 Vim bundle 的简称,是一个 Vim 插件管理器.Vundle可以做...1、在.vimrc中安装和管理插件2、安装插件3、更新插件4、清理插件等$ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vimvundle会安装在你当前操作的那个文件夹。2、...
vs2008中的MFC用共享DLL和静态中使用MFC,遇到的问题
最近调试一个项目,VS2008的MFC系统,里面用到了很多开源(后面调试问题时以为是开源库的问题,其实没有关系)。 问题是这样的,系统在我机器上用vs2008编译好运行正常,然后移到另外一个没有装VS2008的机器上不能运行。 调试过程中的一系列方法: 1、下载VC运行库,安装后,重启,问题依然在。 2、下载VS2008的VC CRT运行时库,安装后,重启,问题依然存在。 3、安装VS2
C++中,debug编译成功,为什么release模式编译报错
可能你在设置编译环境的时候只是设置了debug模式的,    没有去设置release模式下的 ,你打开工程属性看看两个模式的设置,或者环境变量设置 配置连接器:项目(菜单项)->…属性->连接器->输入->附加依赖项 如果是release配置(以后再说,只需要添加上面的debug配置就行了现在),则添加: opencv_calib3d249.lib opencv_
mfc vs2008 Debug调试下 TRACE语句打印的调试信息并没有在输出窗口的解决办法
 mfc  vs2008  Debug调试下 TRACE语句打印的调试信息并没有在输出窗口出现的解决办法:     项目属性->C/C++->高级->取消预处理器定义拦   删除_DEBUG。 生成的.exe文件更改名字及输出路径:       项目属性->链接器->常规-.输出文件栏  .\Debug/BQBMSMgrd.exe(Debug为当前目录下一级目录,BQBMSMgrd.e
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 python教程f5 mfc游戏开发视频