keil中程序在debug运行模式下正常,退出debug模式直接启动程序不能正常运行

keil中程序在debug运行模式下正常,退出debug模式直接启动程序不能正常运行,第1张

程序结尾添加 等待键盘输入的函数,比如C语言的getchar()函数,再运行试一试。可能是直接运行模式下运行速度太快,输出结果,程序运行完了后直接退出程序,肉眼还没有来得及看见输出结果导致的。

尝试以下办法:

右键VS2013图标,选择以管理员权限运行。

关闭VS2013,将工程目录复制到D盘,重新在D盘打开工程,完整重新编译后运行。

另外还有一个可能,注意查看编译过程是否有错误警告,如果有,需要先完善代码

偶在虚拟机上试验了一个所谓的热键式硬盘锁

>

1、解压下载的文件。

2、复制文件“debugexe”到系统目录下。

3、系统目录一般为:C:\WINNT\System32 64位系统为C:\Windows\SysWOW64

4、最后点击开始菜单-->运行-->输入regsvr32 debugexe后,回车即可解决!

出现“Debug Assertion Failed错误”是因为你程序中的断言失败了,也就是这一句话:

ASSERT(pActivateView == this);

Assert是SystemDiagnosticsDebug类的一个静态方法,只在debug的状态下起作用,如果程序是编译成release的,那么该代码会被忽略。

Assert放的作用是检查输入条件(也就是该方法的参数)是否是“True"如果是什么都不会发生,如果是“False”则会抛出异常。

跟据你给的代码来看,应该你传入的参数pActivateView 与调用Assert的方法所在的类的实例(用this表示)不是同一个引用(也就是不是指向同一个实例)。你可以再检查一下你的代码可以跟踪到 mfc提供的源代码内部,(注:如果打开了mfc源代码,设置了断点,但是跟不进去,那就需要更新PDB文件,具体网上搜)

打开 wincorecpp文件(D:\Program Files\Microsoft Visual Studio NET 2003\Vc7\atlmfc\src\mfc)。查看 312 行,所在函数如下:

CWnd PASCAL CWnd::FromHandle(HWND hWnd)

{

CHandleMap pMap = afxMapHWND(TRUE); //create map if not exist

ASSERT(pMap != NULL);

CWnd pWnd = (CWnd)pMap->FromHandle(hWnd);

#ifndef _AFX_NO_OCC_SUPPORT

pWnd->AttachControlSite(pMap);

#endif

ASSERT(pWnd == NULL || pWnd->m_hWnd == hWnd);

return pWnd;

}

断言就是 Assert( pWnd == NULL || pWnd->m_hwnd == hWnd );也就是读取句柄映射表错误,有2种可能:

1你传入的窗口句柄为空,也就是生成了窗口对象但是没有使用 Create创建窗口。

2窗口所在线程不是当前所在线程,那么使用FromHandle读取映射窗口指针或者映射临时窗口指针必然会出错。窗口都是线程相关的噢

你点击菜单命令出错,你就有可能你的菜单命令执行的代码有 FromHandle语句,你看看,一定就是它

Debug模式启动1启动Android Studio打开一个demo程序,2点击工具栏的调试按钮或者点击菜单“Run”-“Debug”,3在”Choose Device“对话框中,选择设备,4设置好断点,然后让应用程序断下来。(注:设置断点的时机可以随便选,只要符合自己的需求就可以了),ENDAttach方式调试点击菜单”Run“-”Attach debuger to Android process“在”Choose Process“对话框中,选择需要attach的进程,3设置好断点,然后让应用程序断下来。

一在程序中设置断点。二在运行j2se程序时使用debug模式运行,程序执行到断点时,会自动启动debug模式

debug模式中的 *** 作

三个键 *** 作,f5在执行代码时,进入方法内部进行查看,其它的与f6相同。f6:直接执行代码的下一句内容f8:将代码执行到下一个断点,如果没有断点,则将代码执行到程序结束

以上就是关于keil中程序在debug运行模式下正常,退出debug模式直接启动程序不能正常运行全部的内容,包括:keil中程序在debug运行模式下正常,退出debug模式直接启动程序不能正常运行、MFC debug或者release时无法启动程序 拒绝访问、debug对硬盘启动加口令等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9679522.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存