- 主题:Re: 请问VC++ MFC 程序崩溃后,会自动重启
用调试器调试debug版啊,这么明显的办法
--
FROM 123.118.191.*
做gui就不该用mfc这堆破烂。
【 在 mbdbk 的大作中提到: 】
: 一个基于 MFC GUI x64 程序。在 Vs2019 里面点击按钮图标 Start 运行,不过是debug, release 版本运行得好好的,但离开了 vs2019, 通过鼠标点击exe来运行几分钟,程序就会崩溃掉,但它又迅速的重新运行程序,但GUI上的数据丢了。
: 是啥原因? 多谢大家指点
--
FROM 120.235.21.*
先双击运行,然后调试——附加到进程,调试类型选自动。
运行环境不同,导致加了不同的dll。
【 在 mbdbk 的大作中提到: 】
: 一个基于 MFC GUI x64 程序。在 Vs2019 里面点击按钮图标 Start 运行,不过是debug, release 版本运行得好好的,但离开了 vs2019, 通过鼠标点击exe来运行几分钟,程序就会崩溃掉,但它又迅速的重新运行程序,但GUI上的数据丢了。
: 是啥原因? 多谢大家指点
--
FROM 61.185.159.*
【 在 mbdbk 的大作中提到: 】
: 一个基于 MFC GUI x64 程序。在 Vs2019 里面点击按钮图标 Start 运行,不过是debug, release 版本运行得好好的,但离开了 vs2019, 通过鼠标点击exe来运行几分钟,程序就会崩溃掉,但它又迅速的重新运行程序,但GUI上的数据丢了。
: 是啥原因? 多谢大家指点
一般是加载的dll不一致导致的。
VS的运行环境里面, 加载到了正确的dll,
一般主要的区别, 一个是当前运行路径,
VS IDE启动当前路径默认是是工程路径, 单独运行则是可执行文件所在路径是默认前路径,
再者,可能是环境设置问题, VS里面添加了额外的运行时dll查找路径。
最简单的办法就是下载dependency walker这个小工具, 查看它给出的dll执行加载顺序和路径,
和IDE 调试输出给出的dll路径和数量是否一致。
--
FROM 124.126.0.*
windbg针对RaiseException、TerminateProcess、ExitProcess等设断点
【 在 mbdbk 的大作中提到: 】
: 问题关键是 在VS2019 IDE 里运行,不会crash。只有单独去运行,用鼠标点击exe, 运行10几分钟有时会 crash.
:
--
FROM 123.118.191.*